parent
2c0951e80a
commit
d03f72f6c9
@ -1,10 +1,42 @@
|
|||||||
package fifo_test
|
package fifo_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cache/fifo"
|
||||||
"github.com/matryer/is"
|
"github.com/matryer/is"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// TestFifo
|
||||||
|
//
|
||||||
|
// @Description: 单元测试
|
||||||
|
// @param t
|
||||||
func TestFifo(t *testing.T) {
|
func TestFifo(t *testing.T) {
|
||||||
is.New()
|
is := is.New(t)
|
||||||
|
cache := fifo.New(24, nil)
|
||||||
|
cache.DelOldest()
|
||||||
|
cache.Set("k1", 1)
|
||||||
|
v := cache.Get("k1")
|
||||||
|
is.Equal(v, 1)
|
||||||
|
cache.Del("k1")
|
||||||
|
is.Equal(0, cache.Len())
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestFifoWithCallBack
|
||||||
|
//
|
||||||
|
// @Description: 带删除回调
|
||||||
|
// @param t
|
||||||
|
func TestFifoWithCallBack(t *testing.T) {
|
||||||
|
is := is.New(t)
|
||||||
|
keys := make([]string, 8)
|
||||||
|
onEvicted := func(key string, value any) {
|
||||||
|
keys = append(keys, key)
|
||||||
|
}
|
||||||
|
cache := fifo.New(24, onEvicted)
|
||||||
|
cache.Set("k1", int8(1))
|
||||||
|
cache.Set("k2", int8(2))
|
||||||
|
cache.Set("k3", int8(3))
|
||||||
|
cache.Set("k4", int8(4))
|
||||||
|
expected := []string{"k1", "k2"}
|
||||||
|
is.Equal(expected, keys)
|
||||||
|
is.Equal(2, cache.Len())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in new issue