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

Function testUnion

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

Source from the content-addressed store, hash-verified

106}
107
108func testUnion(db *redis.Client, t *testing.T) {
109 ctx := context.Background()
110 key := "testdb_set_union_1"
111 key1 := "testdb_set_union_2"
112 key2 := "testdb_set_union_2"
113
114 m1 := "m1"
115 m2 := "m2"
116 m3 := "m3"
117 db.SAdd(ctx, key, m1, m2)
118 db.SAdd(ctx, key1, m1, m2, m3)
119 db.SAdd(ctx, key2, m2, m3)
120
121 if _, err := db.SUnion(ctx, key, key2).Result(); err != nil {
122 t.Fatal(err)
123 }
124
125 dstkey := "union_dsk"
126 db.SAdd(ctx, dstkey, "x")
127 if num, err := db.SUnionStore(ctx, dstkey, key1, key2).Result(); err != nil {
128 t.Fatal(err)
129 } else if num != 3 {
130 t.Fatal(num)
131 }
132
133 if _, err := db.SMembers(ctx, dstkey).Result(); err != nil {
134 t.Fatal(err)
135 }
136
137 if n, err := db.SCard(ctx, dstkey).Result(); err != nil {
138 t.Fatal(err)
139 } else if n != 3 {
140 t.Fatal(n)
141 }
142
143 v1, _ := db.SUnion(ctx, key1, key2).Result()
144 v2, _ := db.SUnion(ctx, key2, key1).Result()
145 if len(v1) != len(v2) {
146 t.Fatal(v1, v2)
147 }
148
149 v1, _ = db.SUnion(ctx, key, key1, key2).Result()
150 v2, _ = db.SUnion(ctx, key, key2, key1).Result()
151 if len(v1) != len(v2) {
152 t.Fatal(v1, v2)
153 }
154
155 if v, err := db.SUnion(ctx, key, key).Result(); err != nil {
156 t.Fatal(err)
157 } else if len(v) != 2 {
158 t.Fatal(v)
159 }
160
161 empKey := "0"
162 if v, err := db.SUnion(ctx, key, empKey).Result(); err != nil {
163 t.Fatal(err)
164 } else if len(v) != 2 {
165 t.Fatal(v)

Callers 1

TestSetOperationFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected