MCPcopy Create free account
hub / github.com/dbProjectRED/redimo.go / TestZBasic

Function TestZBasic

sorted_sets_test.go:10–74  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8)
9
10func 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)

Callers

nothing calls this directly

Calls 6

newClientFunction · 0.85
ZADDMethod · 0.80
ZSCOREMethod · 0.80
ZCARDMethod · 0.80
ZINCRBYMethod · 0.80
ZREMMethod · 0.80

Tested by

no test coverage detected