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

Function TestZSetRange

sorted_sets_test.go:322–433  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

320}
321
322func TestZSetRange(t *testing.T) {
323 c := getTestConn()
324
325 ctx := context.Background()
326 key := []byte("myzset_range_rank")
327 if _, err := c.Do(ctx, "zadd", key, 1, "a", 2, "b", 3, "c", 4, "d").Result(); err != nil {
328 t.Fatal(err)
329 }
330
331 if v, err := c.Do(ctx, "zrange", key, 0, 3, "withscores").Result(); err != nil {
332 t.Fatal(err)
333 } else {
334 if err := testZSetRange(cast.ToSlice(v), "a", 1, "b", 2, "c", 3, "d", 4); err != nil {
335 t.Fatal(err)
336 }
337 }
338
339 if v, err := c.Do(ctx, "zrange", key, 1, 4, "withscores").Result(); err != nil {
340 t.Fatal(err)
341 } else {
342 if err := testZSetRange(cast.ToSlice(v), "b", 2, "c", 3, "d", 4); err != nil {
343 t.Fatal(err)
344 }
345 }
346
347 if v, err := c.Do(ctx, "zrange", key, -2, -1, "withscores").Result(); err != nil {
348 t.Fatal(err)
349 } else {
350 if err := testZSetRange(cast.ToSlice(v), "c", 3, "d", 4); err != nil {
351 t.Fatal(err)
352 }
353 }
354
355 if v, err := c.Do(ctx, "zrange", key, 0, -1, "withscores").Result(); err != nil {
356 t.Fatal(err)
357 } else {
358 if err := testZSetRange(cast.ToSlice(v), "a", 1, "b", 2, "c", 3, "d", 4); err != nil {
359 t.Fatal(err)
360 }
361 }
362
363 if v, err := c.Do(ctx, "zrange", key, -1, -2, "withscores").Result(); err != nil {
364 t.Fatal(err)
365 } else if len(cast.ToSlice(v)) != 0 {
366 t.Fatal(len(cast.ToSlice(v)))
367 }
368
369 if v, err := c.Do(ctx, "zrevrange", key, 0, 4, "withscores").Result(); err != nil {
370 t.Fatal(err)
371 } else {
372 if err := testZSetRange(cast.ToSlice(v), "d", 4, "c", 3, "b", 2, "a", 1); err != nil {
373 t.Fatal(err)
374 }
375 }
376
377 if v, err := c.Do(ctx, "zrevrange", key, 0, -1, "withscores").Result(); err != nil {
378 t.Fatal(err)
379 } else {

Callers

nothing calls this directly

Calls 3

getTestConnFunction · 0.85
testZSetRangeFunction · 0.85
DoMethod · 0.45

Tested by

no test coverage detected