github.com/Finschia/finschia-sdk@v0.48.1/store/mem/mem_test.go (about) 1 package mem_test 2 3 import ( 4 "testing" 5 6 "github.com/Finschia/finschia-sdk/store/cachekv" 7 8 "github.com/stretchr/testify/require" 9 10 "github.com/Finschia/finschia-sdk/store/mem" 11 "github.com/Finschia/finschia-sdk/store/types" 12 ) 13 14 func TestStore(t *testing.T) { 15 db := mem.NewStore() 16 key, value := []byte("key"), []byte("value") 17 18 require.Equal(t, types.StoreTypeMemory, db.GetStoreType()) 19 20 require.Nil(t, db.Get(key)) 21 db.Set(key, value) 22 require.Equal(t, value, db.Get(key)) 23 24 newValue := []byte("newValue") 25 db.Set(key, newValue) 26 require.Equal(t, newValue, db.Get(key)) 27 28 db.Delete(key) 29 require.Nil(t, db.Get(key)) 30 31 cacheWrapper := db.CacheWrap() 32 require.IsType(t, &cachekv.Store{}, cacheWrapper) 33 34 cacheWrappedWithTrace := db.CacheWrapWithTrace(nil, nil) 35 require.IsType(t, &cachekv.Store{}, cacheWrappedWithTrace) 36 37 cacheWrappedWithListeners := db.CacheWrapWithListeners(nil, nil) 38 require.IsType(t, &cachekv.Store{}, cacheWrappedWithListeners) 39 } 40 41 func TestCommit(t *testing.T) { 42 db := mem.NewStore() 43 key, value := []byte("key"), []byte("value") 44 45 db.Set(key, value) 46 id := db.Commit() 47 require.True(t, id.IsZero()) 48 require.True(t, db.LastCommitID().IsZero()) 49 require.Equal(t, value, db.Get(key)) 50 }