| 74 | } |
| 75 | |
| 76 | func TestZPops(t *testing.T) { |
| 77 | c := newClient(t) |
| 78 | |
| 79 | addedMembers, err := c.ZADD("z1", map[string]float64{ |
| 80 | "m1": 1, |
| 81 | "m2": 2, |
| 82 | "m3": 3, |
| 83 | "m4": 4, |
| 84 | "m5": 5, |
| 85 | "m6": 6, |
| 86 | "m7": 7, |
| 87 | "m8": 8, |
| 88 | "m9": 9, |
| 89 | }, Flags{}) |
| 90 | assert.NoError(t, err) |
| 91 | assert.Equal(t, 9, len(addedMembers)) |
| 92 | |
| 93 | count, err := c.ZCARD("z1") |
| 94 | assert.NoError(t, err) |
| 95 | assert.Equal(t, int64(9), count) |
| 96 | |
| 97 | membersWithScores, err := c.ZPOPMAX("z1", 2) |
| 98 | assert.NoError(t, err) |
| 99 | assert.Equal(t, map[string]float64{"m9": 9, "m8": 8}, membersWithScores) |
| 100 | |
| 101 | count, err = c.ZCARD("z1") |
| 102 | assert.NoError(t, err) |
| 103 | assert.Equal(t, int64(7), count) |
| 104 | |
| 105 | _, ok, err := c.ZSCORE("z1", "m9") |
| 106 | assert.NoError(t, err) |
| 107 | assert.False(t, ok) |
| 108 | |
| 109 | _, ok, err = c.ZSCORE("z1", "m8") |
| 110 | assert.NoError(t, err) |
| 111 | assert.False(t, ok) |
| 112 | |
| 113 | membersWithScores, err = c.ZPOPMIN("z1", 2) |
| 114 | assert.NoError(t, err) |
| 115 | assert.Equal(t, map[string]float64{"m1": 1, "m2": 2}, membersWithScores) |
| 116 | |
| 117 | count, err = c.ZCARD("z1") |
| 118 | assert.NoError(t, err) |
| 119 | assert.Equal(t, int64(5), count) |
| 120 | |
| 121 | _, ok, err = c.ZSCORE("z1", "m1") |
| 122 | assert.NoError(t, err) |
| 123 | assert.False(t, ok) |
| 124 | |
| 125 | _, ok, err = c.ZSCORE("z1", "m2") |
| 126 | assert.NoError(t, err) |
| 127 | assert.False(t, ok) |
| 128 | |
| 129 | membersWithScores, err = c.ZPOPMIN("z1", 1000) |
| 130 | assert.NoError(t, err) |
| 131 | assert.Equal(t, map[string]float64{"m3": 3, "m4": 4, "m5": 5, "m6": 6, "m7": 7}, membersWithScores) |
| 132 | |
| 133 | count, err = c.ZCARD("z1") |