github.com/zhiqiangxu/util@v0.0.0-20230112053021-0a7aee056cd5/skl/lf/list_test.go (about) 1 package lf 2 3 import ( 4 "testing" 5 6 "reflect" 7 8 "gotest.tools/assert" 9 ) 10 11 func TestList(t *testing.T) { 12 l := NewList(1024) 13 isNew, err := l.Insert([]byte("a"), []byte("a")) 14 assert.Assert(t, isNew && err == nil) 15 16 v, exists := l.Get([]byte("a")) 17 assert.Assert(t, exists && reflect.DeepEqual(v, []byte("a"))) 18 19 isNew, err = l.Insert([]byte("a"), []byte("b")) 20 assert.Assert(t, !isNew && err == nil) 21 22 v, exists = l.Get([]byte("a")) 23 assert.Assert(t, exists && reflect.DeepEqual(v, []byte("b"))) 24 25 isNew, err = l.Insert([]byte("b"), []byte("b")) 26 assert.Assert(t, isNew && err == nil) 27 28 deleted := l.Delete([]byte("a")) 29 assert.Assert(t, deleted) 30 v, exists = l.Get([]byte("a")) 31 assert.Assert(t, !exists && v == nil) 32 }