MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / testInter

Function testInter

set_test.go:169–238  ·  view source on GitHub ↗
(db *redis.Client, t *testing.T)

Source from the content-addressed store, hash-verified

167}
168
169func testInter(db *redis.Client, t *testing.T) {
170 ctx := context.Background()
171 key1 := "testdb_set_inter_1"
172 key2 := "testdb_set_inter_2"
173 key3 := "testdb_set_inter_3"
174
175 m1 := "m1"
176 m2 := "m2"
177 m3 := "m3"
178 m4 := "m4"
179
180 db.SAdd(ctx, key1, m1, m2)
181 db.SAdd(ctx, key2, m2, m3, m4)
182 db.SAdd(ctx, key3, m2, m4)
183
184 if v, err := db.SInter(ctx, key1, key2).Result(); err != nil {
185 t.Fatal(err)
186 } else if len(v) != 1 {
187 t.Fatal(v)
188 }
189
190 dstKey := "inter_dsk"
191 if n, err := db.SInterStore(ctx, dstKey, key1, key2).Result(); err != nil {
192 t.Fatal(err)
193 } else if n != 1 {
194 t.Fatal(n)
195 }
196
197 k1 := "set_k1"
198 k2 := "set_k2"
199
200 db.SAdd(ctx, k1, m1, m3, m4)
201 db.SAdd(ctx, k2, m2, m3)
202 if n, err := db.SInterStore(ctx, "set_xxx", k1, k2).Result(); err != nil {
203 t.Fatal(err)
204 } else if n != 1 {
205 t.Fatal(n)
206 }
207
208 v1, _ := db.SInter(ctx, key1, key2).Result()
209 v2, _ := db.SInter(ctx, key2, key1).Result()
210 if len(v1) != len(v2) {
211 t.Fatal(v1, v2)
212 }
213
214 v1, _ = db.SInter(ctx, key1, key2, key3).Result()
215 v2, _ = db.SInter(ctx, key2, key3, key1).Result()
216 if len(v1) != len(v2) {
217 t.Fatal(v1, v2)
218 }
219
220 if v, err := db.SInter(ctx, key1, key1).Result(); err != nil {
221 t.Fatal(err)
222 } else if len(v) != 2 {
223 t.Fatal(v)
224 }
225
226 empKey := "0"

Callers 1

TestSetOperationFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected