| 266 | } |
| 267 | |
| 268 | func TestZCounts(t *testing.T) { |
| 269 | c := newClient(t) |
| 270 | |
| 271 | addedMembers, err := c.ZADD("z1", map[string]float64{ |
| 272 | "m1": 1, |
| 273 | "m2": 2, |
| 274 | "m3": 3, |
| 275 | "m4": 4, |
| 276 | }, Flags{}) |
| 277 | assert.NoError(t, err) |
| 278 | assert.Equal(t, 4, len(addedMembers)) |
| 279 | |
| 280 | count, err := c.ZCOUNT("z1", 2, 3) |
| 281 | assert.NoError(t, err) |
| 282 | assert.Equal(t, int64(2), count) |
| 283 | |
| 284 | count, err = c.ZCOUNT("z1", 2, math.Inf(+1)) |
| 285 | assert.NoError(t, err) |
| 286 | assert.Equal(t, int64(3), count) |
| 287 | |
| 288 | count, err = c.ZCOUNT("z1", math.Inf(-1), math.Inf(+1)) |
| 289 | assert.NoError(t, err) |
| 290 | assert.Equal(t, int64(4), count) |
| 291 | |
| 292 | count, err = c.ZLEXCOUNT("z1", "m2", "m4") |
| 293 | assert.NoError(t, err) |
| 294 | assert.Equal(t, int64(3), count) |
| 295 | |
| 296 | rank, ok, err := c.ZRANK("z1", "m2") |
| 297 | assert.NoError(t, err) |
| 298 | assert.True(t, ok) |
| 299 | assert.Equal(t, int64(1), rank) |
| 300 | |
| 301 | rank, ok, err = c.ZRANK("z1", "m4") |
| 302 | assert.NoError(t, err) |
| 303 | assert.True(t, ok) |
| 304 | assert.Equal(t, int64(3), rank) |
| 305 | |
| 306 | rank, ok, err = c.ZREVRANK("z1", "m4") |
| 307 | assert.NoError(t, err) |
| 308 | assert.True(t, ok) |
| 309 | assert.Equal(t, int64(0), rank) |
| 310 | } |
| 311 | |
| 312 | func TestZAggregations(t *testing.T) { |
| 313 | c := newClient(t) |