6 "github.com/stretchr/testify/assert"
7 "github.com/stretchr/testify/require"
10 func TestMemDbIterator(t *testing.T) {
12 keys := make([][]byte, 100)
13 for i := 0; i < 100; i++ {
14 keys[i] = []byte{byte(i)}
18 for _, k := range keys {
25 assert.Equal(t, db.Get(iter.Key()), iter.Value(), "values dont match for key")
28 assert.Equal(t, i, len(db.db), "iterator didnt cover whole db")
31 func TestMemDBClose(t *testing.T) {
33 copyDB := func(orig map[string][]byte) map[string][]byte {
34 copy := make(map[string][]byte)
35 for k, v := range orig {
40 k, v := []byte("foo"), []byte("bar")
42 require.Equal(t, db.Get(k), v, "expecting a successful get")
43 copyBefore := copyDB(db.db)
45 require.Equal(t, db.Get(k), v, "Close is a noop, expecting a successful get")
46 copyAfter := copyDB(db.db)
47 require.Equal(t, copyBefore, copyAfter, "Close is a noop and shouldn't modify any internal data")