mirror of
https://github.com/HDT3213/godis.git
synced 2025-10-05 16:57:06 +08:00
Bug fix : ZPOPMIN command.
Fixed the error caused by incorrect "boder" pass value. And added a simple unit test to verify correctness.
This commit is contained in:
@@ -220,7 +220,7 @@ func (sortedSet *SortedSet) PopMin(count int) []*Element {
|
||||
Value: first.Score,
|
||||
Exclude: false,
|
||||
}
|
||||
removed := sortedSet.skiplist.RemoveRangeByScore(border, border, count)
|
||||
removed := sortedSet.skiplist.RemoveRangeByScore(border, positiveInfBorder, count)
|
||||
for _, element := range removed {
|
||||
delete(sortedSet.dict, element.Member)
|
||||
}
|
||||
|
16
datastruct/sortedset/sortedset_test.go
Normal file
16
datastruct/sortedset/sortedset_test.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package sortedset
|
||||
|
||||
import "testing"
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user