split test
This commit is contained in:
parent
9d809d7855
commit
27b8322a27
|
@ -0,0 +1,75 @@
|
||||||
|
package store
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math/rand"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestList(t *testing.T) {
|
||||||
|
key := sdk.NewKVStoreKey("test")
|
||||||
|
ctx, cdc := defaultComponents(key)
|
||||||
|
store := ctx.KVStore(key)
|
||||||
|
lm := NewList(cdc, store)
|
||||||
|
|
||||||
|
val := S{1, true}
|
||||||
|
var res S
|
||||||
|
|
||||||
|
lm.Push(val)
|
||||||
|
require.Equal(t, uint64(1), lm.Len())
|
||||||
|
lm.Get(uint64(0), &res)
|
||||||
|
require.Equal(t, val, res)
|
||||||
|
|
||||||
|
val = S{2, false}
|
||||||
|
lm.Set(uint64(0), val)
|
||||||
|
lm.Get(uint64(0), &res)
|
||||||
|
require.Equal(t, val, res)
|
||||||
|
|
||||||
|
val = S{100, false}
|
||||||
|
lm.Push(val)
|
||||||
|
require.Equal(t, uint64(2), lm.Len())
|
||||||
|
lm.Get(uint64(1), &res)
|
||||||
|
require.Equal(t, val, res)
|
||||||
|
|
||||||
|
lm.Delete(uint64(1))
|
||||||
|
require.Equal(t, uint64(2), lm.Len())
|
||||||
|
|
||||||
|
lm.Iterate(&res, func(index uint64) (brk bool) {
|
||||||
|
var temp S
|
||||||
|
lm.Get(index, &temp)
|
||||||
|
require.Equal(t, temp, res)
|
||||||
|
|
||||||
|
require.True(t, index != 1)
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
lm.Iterate(&res, func(index uint64) (brk bool) {
|
||||||
|
lm.Set(index, S{res.I + 1, !res.B})
|
||||||
|
return
|
||||||
|
})
|
||||||
|
|
||||||
|
lm.Get(uint64(0), &res)
|
||||||
|
require.Equal(t, S{3, true}, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestListRandom(t *testing.T) {
|
||||||
|
key := sdk.NewKVStoreKey("test")
|
||||||
|
ctx, cdc := defaultComponents(key)
|
||||||
|
store := ctx.KVStore(key)
|
||||||
|
list := NewList(cdc, store)
|
||||||
|
mocklist := []uint32{}
|
||||||
|
|
||||||
|
for i := 0; i < 100; i++ {
|
||||||
|
item := rand.Uint32()
|
||||||
|
list.Push(item)
|
||||||
|
mocklist = append(mocklist, item)
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v := range mocklist {
|
||||||
|
var i uint32
|
||||||
|
require.NotPanics(t, func() { list.Get(uint64(k), &i) })
|
||||||
|
require.Equal(t, v, i)
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
package store
|
package store
|
||||||
|
|
||||||
import (
|
import (
|
||||||
// "math/rand"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
@ -30,52 +29,6 @@ func defaultComponents(key sdk.StoreKey) (sdk.Context, *codec.Codec) {
|
||||||
return ctx, cdc
|
return ctx, cdc
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestList(t *testing.T) {
|
|
||||||
key := sdk.NewKVStoreKey("test")
|
|
||||||
ctx, cdc := defaultComponents(key)
|
|
||||||
store := ctx.KVStore(key)
|
|
||||||
lm := NewList(cdc, store)
|
|
||||||
|
|
||||||
val := S{1, true}
|
|
||||||
var res S
|
|
||||||
|
|
||||||
lm.Push(val)
|
|
||||||
require.Equal(t, uint64(1), lm.Len())
|
|
||||||
lm.Get(uint64(0), &res)
|
|
||||||
require.Equal(t, val, res)
|
|
||||||
|
|
||||||
val = S{2, false}
|
|
||||||
lm.Set(uint64(0), val)
|
|
||||||
lm.Get(uint64(0), &res)
|
|
||||||
require.Equal(t, val, res)
|
|
||||||
|
|
||||||
val = S{100, false}
|
|
||||||
lm.Push(val)
|
|
||||||
require.Equal(t, uint64(2), lm.Len())
|
|
||||||
lm.Get(uint64(1), &res)
|
|
||||||
require.Equal(t, val, res)
|
|
||||||
|
|
||||||
lm.Delete(uint64(1))
|
|
||||||
require.Equal(t, uint64(2), lm.Len())
|
|
||||||
|
|
||||||
lm.Iterate(&res, func(index uint64) (brk bool) {
|
|
||||||
var temp S
|
|
||||||
lm.Get(index, &temp)
|
|
||||||
require.Equal(t, temp, res)
|
|
||||||
|
|
||||||
require.True(t, index != 1)
|
|
||||||
return
|
|
||||||
})
|
|
||||||
|
|
||||||
lm.Iterate(&res, func(index uint64) (brk bool) {
|
|
||||||
lm.Set(index, S{res.I + 1, !res.B})
|
|
||||||
return
|
|
||||||
})
|
|
||||||
|
|
||||||
lm.Get(uint64(0), &res)
|
|
||||||
require.Equal(t, S{3, true}, res)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestQueue(t *testing.T) {
|
func TestQueue(t *testing.T) {
|
||||||
key := sdk.NewKVStoreKey("test")
|
key := sdk.NewKVStoreKey("test")
|
||||||
ctx, cdc := defaultComponents(key)
|
ctx, cdc := defaultComponents(key)
|
||||||
|
@ -146,26 +99,4 @@ func TestKeys(t *testing.T) {
|
||||||
err = cdc.UnmarshalBinary(store.Get(TopKey()), &top)
|
err = cdc.UnmarshalBinary(store.Get(TopKey()), &top)
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
require.Equal(t, top, queue.getTop())
|
require.Equal(t, top, queue.getTop())
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
func TestListRandom(t *testing.T) {
|
|
||||||
key := sdk.NewKVStoreKey("test")
|
|
||||||
ctx, cdc := defaultComponents(key)
|
|
||||||
store := ctx.KVStore(key)
|
|
||||||
list := NewList(cdc, store)
|
|
||||||
mocklist := []uint32{}
|
|
||||||
|
|
||||||
for i := 0; i < 10000; {
|
|
||||||
limit := rand.Int31() % 1000
|
|
||||||
for j := int32(0); j < limit; j++ {
|
|
||||||
item := rand.Uint32()
|
|
||||||
list.Push(item)
|
|
||||||
mocklist = append(mocklist, item)
|
|
||||||
}
|
|
||||||
|
|
||||||
require.Equal()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
Loading…
Reference in New Issue