Files
redis-go/datastruct/sortedset/sortedset_test.go
2024-07-29 13:59:18 +08:00

48 lines
942 B
Go

package sortedset
import (
"testing"
"github.com/hdt3213/godis/lib/utils"
)
func TestSortedSet_PopMin(t *testing.T) {
var set = Make()
set.Add("s1", 1)
set.Add("s2", 2)
set.Add("s3", 3)
set.Add("s4", 4)
var results = set.PopMin(2)
if results[0].Member != "s1" || results[1].Member != "s2" {
t.Fail()
}
}
func TestSetScan(t *testing.T) {
set := Make()
size := 10
for i := 0; i < size; i++ {
str := "a" + utils.RandString(5)
set.Add(str, float64(i))
}
keys, nextCursor := set.ZSetScan(0, size, "*")
if len(keys) != size*2 {
t.Errorf("expect %d keys, actual: %d", size*2, len(keys))
return
}
if nextCursor != 0 {
t.Errorf("expect 0, actual: %d", nextCursor)
return
}
for i := 0; i < size; i++ {
str := "b" + utils.RandString(5)
set.Add(str, float64(i+size))
}
keys, _ = set.ZSetScan(0, size*2, "a*")
if len(keys) != size*2 {
t.Errorf("expect %d keys, actual: %d", size*2, len(keys))
return
}
}