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  }