mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-04 11:02:13 +00:00
db: fix memdb iterator
This commit is contained in:
parent
fe08fc00c8
commit
8f1dea89f5
@ -82,7 +82,7 @@ func newMemDBIterator() *memDBIterator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (it *memDBIterator) Next() bool {
|
func (it *memDBIterator) Next() bool {
|
||||||
if it.last >= len(it.keys) {
|
if it.last >= len(it.keys)-1 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
it.last++
|
it.last++
|
||||||
|
28
db/mem_db_test.go
Normal file
28
db/mem_db_test.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package db
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestMemDbIterator(t *testing.T) {
|
||||||
|
db := NewMemDB()
|
||||||
|
keys := make([][]byte, 100)
|
||||||
|
for i := 0; i < 100; i++ {
|
||||||
|
keys[i] = []byte{byte(i)}
|
||||||
|
}
|
||||||
|
|
||||||
|
value := []byte{5}
|
||||||
|
for _, k := range keys {
|
||||||
|
db.Set(k, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
iter := db.Iterator()
|
||||||
|
i := 0
|
||||||
|
for iter.Next() {
|
||||||
|
assert.Equal(t, db.Get(iter.Key()), iter.Value(), "values dont match for key")
|
||||||
|
i += 1
|
||||||
|
}
|
||||||
|
assert.Equal(t, i, len(db.db), "iterator didnt cover whole db")
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user