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

Function TestPop

lists_test.go:240–301  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

238}
239
240func TestPop(t *testing.T) {
241 c := getTestConn()
242 ctx := context.Background()
243
244 key := []byte("c")
245 if n, err := c.Do(ctx, "rpush", key, 1, 2, 3, 4, 5, 6).Int64(); err != nil {
246 t.Fatal(err)
247 } else if n != 6 {
248 t.Fatal(n)
249 }
250
251 if v, err := c.Do(ctx, "lpop", key).Int64(); err != nil {
252 t.Fatal(err)
253 } else if v != 1 {
254 t.Fatal(v)
255 }
256
257 if v, err := c.Do(ctx, "rpop", key).Int64(); err != nil {
258 t.Fatal(err)
259 } else if v != 6 {
260 t.Fatal(v)
261 }
262
263 if n, err := c.Do(ctx, "lpush", key, 1).Int64(); err != nil {
264 t.Fatal(err)
265 } else if n != 5 {
266 t.Fatal(n)
267 }
268
269 if err := testListRange(key, 0, 5, 1, 2, 3, 4, 5); err != nil {
270 t.Fatal(err)
271 }
272
273 for i := 1; i <= 5; i++ {
274 if v, err := c.Do(ctx, "lpop", key).Int(); err != nil {
275 t.Fatal(err)
276 } else if v != i {
277 t.Fatal(v)
278 }
279 }
280
281 if n, err := c.Do(ctx, "llen", key).Int(); err != nil {
282 t.Fatal(err)
283 } else if n != 0 {
284 t.Fatal(n)
285 }
286
287 c.Do(ctx, "rpush", key, 1, 2, 3, 4, 5)
288
289 if n, err := c.Do(ctx, "lclear", key).Int64(); err != nil {
290 t.Fatal(err)
291 } else if n != 5 {
292 t.Fatal(n)
293 }
294
295 if n, err := c.Do(ctx, "llen", key).Int64(); err != nil {
296 t.Fatal(err)
297 } else if n != 0 {

Callers

nothing calls this directly

Calls 3

getTestConnFunction · 0.85
testListRangeFunction · 0.85
DoMethod · 0.45

Tested by

no test coverage detected