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 {
|
||||
if it.last >= len(it.keys) {
|
||||
if it.last >= len(it.keys)-1 {
|
||||
return false
|
||||
}
|
||||
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