github.com/lingyao2333/mo-zero@v1.4.1/core/bloom/bloom_test.go (about) 1 package bloom 2 3 import ( 4 "testing" 5 6 "github.com/lingyao2333/mo-zero/core/stores/redis/redistest" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestRedisBitSet_New_Set_Test(t *testing.T) { 11 store, clean, err := redistest.CreateRedis() 12 assert.Nil(t, err) 13 defer clean() 14 15 bitSet := newRedisBitSet(store, "test_key", 1024) 16 isSetBefore, err := bitSet.check([]uint{0}) 17 if err != nil { 18 t.Fatal(err) 19 } 20 if isSetBefore { 21 t.Fatal("Bit should not be set") 22 } 23 err = bitSet.set([]uint{512}) 24 if err != nil { 25 t.Fatal(err) 26 } 27 isSetAfter, err := bitSet.check([]uint{512}) 28 if err != nil { 29 t.Fatal(err) 30 } 31 if !isSetAfter { 32 t.Fatal("Bit should be set") 33 } 34 err = bitSet.expire(3600) 35 if err != nil { 36 t.Fatal(err) 37 } 38 err = bitSet.del() 39 if err != nil { 40 t.Fatal(err) 41 } 42 } 43 44 func TestRedisBitSet_Add(t *testing.T) { 45 store, clean, err := redistest.CreateRedis() 46 assert.Nil(t, err) 47 defer clean() 48 49 filter := New(store, "test_key", 64) 50 assert.Nil(t, filter.Add([]byte("hello"))) 51 assert.Nil(t, filter.Add([]byte("world"))) 52 ok, err := filter.Exists([]byte("hello")) 53 assert.Nil(t, err) 54 assert.True(t, ok) 55 }