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

Function TestRPopLPush

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

Source from the content-addressed store, hash-verified

301}
302
303func TestRPopLPush(t *testing.T) {
304 c := getTestConn()
305 ctx := context.Background()
306
307 src := []byte("sr")
308 des := []byte("de")
309
310 c.Do(ctx, "lclear", src)
311 c.Do(ctx, "lclear", des)
312
313 if _, err := c.Do(ctx, "rpoplpush", src, des).Result(); err != redis.Nil {
314 t.Fatal(err)
315 }
316
317 if v, err := c.Do(ctx, "llen", des).Int64(); err != nil {
318 t.Fatal(err)
319 } else if v != 0 {
320 t.Fatal(v)
321 }
322
323 if n, err := c.Do(ctx, "rpush", src, 1, 2, 3, 4, 5, 6).Int64(); err != nil {
324 t.Fatal(err)
325 } else if n != 6 {
326 t.Fatal(n)
327 }
328
329 if v, err := c.Do(ctx, "rpoplpush", src, src).Int64(); err != nil {
330 t.Fatal(err)
331 } else if v != 6 {
332 t.Fatal(v)
333 }
334
335 if v, err := c.Do(ctx, "llen", src).Int64(); err != nil {
336 t.Fatal(err)
337 } else if v != 6 {
338 t.Fatal(v)
339 }
340
341 if res, err := c.Do(ctx, "rpoplpush", src, des).Result(); err != nil {
342 t.Fatal(err)
343 } else if v := cast.ToInt(res); v != 5 {
344 t.Fatal(v)
345 }
346
347 if v, err := c.Do(ctx, "llen", src).Int64(); err != nil {
348 t.Fatal(err)
349 } else if v != 5 {
350 t.Fatal(v)
351 }
352
353 if v, err := c.Do(ctx, "llen", des).Int64(); err != nil {
354 t.Fatal(err)
355 } else if v != 1 {
356 t.Fatal(v)
357 }
358
359 if v, err := c.Do(ctx, "lpop", des).Int64(); err != nil {
360 t.Fatal(err)

Callers

nothing calls this directly

Calls 2

getTestConnFunction · 0.85
DoMethod · 0.45

Tested by

no test coverage detected