| 8 | ) |
| 9 | |
| 10 | func TestZBasic(t *testing.T) { |
| 11 | c := newClient(t) |
| 12 | |
| 13 | addedMembers, err := c.ZADD("z1", map[string]float64{"m1": 1, "m4": 4}, Flags{}) |
| 14 | assert.NoError(t, err) |
| 15 | assert.Equal(t, 2, len(addedMembers)) |
| 16 | assert.ElementsMatch(t, []string{"m1", "m4"}, addedMembers) |
| 17 | |
| 18 | addedMembers, err = c.ZADD("z1", map[string]float64{"m1": 1, "m2": 2, "m3": 3, "m4": 4}, Flags{}) |
| 19 | assert.NoError(t, err) |
| 20 | assert.Equal(t, 2, len(addedMembers)) |
| 21 | assert.ElementsMatch(t, []string{"m2", "m3"}, addedMembers) |
| 22 | |
| 23 | score, ok, err := c.ZSCORE("z1", "m2") |
| 24 | assert.NoError(t, err) |
| 25 | assert.True(t, ok) |
| 26 | assert.Equal(t, float64(2), score) |
| 27 | |
| 28 | count, err := c.ZCARD("z1") |
| 29 | assert.NoError(t, err) |
| 30 | assert.Equal(t, int64(4), count) |
| 31 | |
| 32 | _, ok, err = c.ZSCORE("z1", "nosuchmember") |
| 33 | assert.NoError(t, err) |
| 34 | assert.False(t, ok) |
| 35 | |
| 36 | newScore, err := c.ZINCRBY("z1", "m2", 0.5) |
| 37 | assert.NoError(t, err) |
| 38 | assert.InDelta(t, 2.5, newScore, 0.001) |
| 39 | |
| 40 | score, ok, err = c.ZSCORE("z1", "m2") |
| 41 | assert.NoError(t, err) |
| 42 | assert.True(t, ok) |
| 43 | assert.Equal(t, 2.5, score) |
| 44 | |
| 45 | removedMembers, err := c.ZREM("z1", "m2", "m3", "nosuchmember") |
| 46 | assert.NoError(t, err) |
| 47 | assert.Equal(t, 2, len(removedMembers)) |
| 48 | assert.ElementsMatch(t, []string{"m2", "m3"}, removedMembers) |
| 49 | |
| 50 | count, err = c.ZCARD("z1") |
| 51 | assert.NoError(t, err) |
| 52 | assert.Equal(t, int64(2), count) |
| 53 | |
| 54 | _, ok, err = c.ZSCORE("z1", "nosuchmember") |
| 55 | assert.NoError(t, err) |
| 56 | assert.False(t, ok) |
| 57 | |
| 58 | _, ok, err = c.ZSCORE("z1", "m2") |
| 59 | assert.NoError(t, err) |
| 60 | assert.False(t, ok) |
| 61 | |
| 62 | _, ok, err = c.ZSCORE("z1", "m3") |
| 63 | assert.NoError(t, err) |
| 64 | assert.False(t, ok) |
| 65 | |
| 66 | newScore, err = c.ZINCRBY("zNew", "mNew", 0.5) |
| 67 | assert.NoError(t, err) |