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

Function TestBasicSets

sets_test.go:9–65  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

7)
8
9func TestBasicSets(t *testing.T) {
10 c := newClient(t)
11
12 addedMembers, err := c.SADD("s1", "m1", "m2")
13 assert.NoError(t, err)
14 assert.Equal(t, 2, len(addedMembers))
15 assert.ElementsMatch(t, []string{"m1", "m2"}, addedMembers)
16
17 addedMembers, err = c.SADD("s1", "m1", "m2", "m3")
18 assert.NoError(t, err)
19 assert.Equal(t, 1, len(addedMembers))
20 assert.ElementsMatch(t, []string{"m3"}, addedMembers)
21
22 ok, err := c.SISMEMBER("s1", "m1")
23 assert.NoError(t, err)
24 assert.True(t, ok)
25
26 ok, err = c.SISMEMBER("s1", "nonexistentmember")
27 assert.NoError(t, err)
28 assert.False(t, ok)
29
30 members, err := c.SMEMBERS("s1")
31 assert.NoError(t, err)
32 assert.ElementsMatch(t, []string{"m1", "m2", "m3"}, members)
33
34 count, err := c.SCARD("s1")
35 assert.NoError(t, err)
36 assert.Equal(t, int64(3), count)
37
38 members, err = c.SMEMBERS("nosuchset")
39 assert.NoError(t, err)
40 assert.ElementsMatch(t, []string{}, members)
41
42 removedMembers, err := c.SREM("s1", "m1", "m2")
43 assert.NoError(t, err)
44 assert.ElementsMatch(t, []string{"m1", "m2"}, removedMembers)
45
46 removedMembers, err = c.SREM("s1", "m1", "m2")
47 assert.NoError(t, err)
48 assert.ElementsMatch(t, []string{}, removedMembers)
49
50 members, err = c.SMEMBERS("s1")
51 assert.NoError(t, err)
52 assert.ElementsMatch(t, []string{"m3"}, members)
53
54 ok, err = c.SISMEMBER("s1", "m1")
55 assert.NoError(t, err)
56 assert.False(t, ok)
57
58 count, err = c.SCARD("s1")
59 assert.NoError(t, err)
60 assert.Equal(t, int64(1), count)
61
62 count, err = c.SCARD("nosuchkey")
63 assert.NoError(t, err)
64 assert.Equal(t, int64(0), count)
65}
66

Callers

nothing calls this directly

Calls 6

newClientFunction · 0.85
SADDMethod · 0.80
SISMEMBERMethod · 0.80
SMEMBERSMethod · 0.80
SCARDMethod · 0.80
SREMMethod · 0.80

Tested by

no test coverage detected