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,
|
Value: first.Score,
|
||||||
Exclude: false,
|
Exclude: false,
|
||||||
}
|
}
|
||||||
removed := sortedSet.skiplist.RemoveRangeByScore(border, border, count)
|
removed := sortedSet.skiplist.RemoveRangeByScore(border, positiveInfBorder, count)
|
||||||
for _, element := range removed {
|
for _, element := range removed {
|
||||||
delete(sortedSet.dict, element.Member)
|
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