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

Function TestSetModifiers

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

Source from the content-addressed store, hash-verified

126}
127
128func TestSetModifiers(t *testing.T) {
129 c := newClient(t)
130
131 _, err := c.SADD("s1", "m1", "m2", "m3")
132 assert.NoError(t, err)
133
134 members, err := c.SRANDMEMBER("s1", 1)
135 assert.NoError(t, err)
136 assert.Equal(t, 1, len(members))
137 assert.Subset(t, []string{"m1", "m2", "m3"}, members)
138
139 members, err = c.SRANDMEMBER("s1", -2)
140 assert.NoError(t, err)
141 assert.Equal(t, 2, len(members))
142 assert.Subset(t, []string{"m1", "m2", "m3"}, members)
143
144 members, err = c.SPOP("s1", 2)
145 assert.NoError(t, err)
146 assert.Equal(t, 2, len(members))
147 assert.Subset(t, []string{"m1", "m2", "m3"}, members)
148
149 newCount, err := c.SCARD("s1")
150 assert.NoError(t, err)
151 assert.Equal(t, int64(1), newCount)
152
153 _, err = c.SADD("s1", "m1", "m2", "m3")
154 assert.NoError(t, err)
155
156 ok, err := c.SMOVE("s1", "s2", "m1")
157 assert.NoError(t, err)
158 assert.True(t, ok)
159
160 members, err = c.SMEMBERS("s1")
161 assert.NoError(t, err)
162 assert.ElementsMatch(t, []string{"m2", "m3"}, members)
163
164 members, err = c.SMEMBERS("s2")
165 assert.NoError(t, err)
166 assert.ElementsMatch(t, []string{"m1"}, members)
167
168 ok, err = c.SMOVE("s1", "s2", "nosuchmember")
169 assert.NoError(t, err)
170 assert.False(t, ok)
171
172 members, err = c.SMEMBERS("s1")
173 assert.NoError(t, err)
174 assert.ElementsMatch(t, []string{"m2", "m3"}, members)
175
176 members, err = c.SMEMBERS("s2")
177 assert.NoError(t, err)
178 assert.ElementsMatch(t, []string{"m1"}, members)
179}

Callers

nothing calls this directly

Calls 7

newClientFunction · 0.85
SADDMethod · 0.80
SRANDMEMBERMethod · 0.80
SPOPMethod · 0.80
SCARDMethod · 0.80
SMOVEMethod · 0.80
SMEMBERSMethod · 0.80

Tested by

no test coverage detected