MCPcopy Create free account
hub / github.com/ByteStorage/FlyDB / TestZRevRank

Function TestZRevRank

structure/zset_test.go:403–451  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

401 assert.Equal(t, 2, rank) // now `member3` should become 2nd
402}
403func TestZRevRank(t *testing.T) {
404 zs, _ := initZSetDB()
405
406 // Assume that ZAdd adds a member to a set and assigns the member a score.
407 // Here the score does not matter
408 err := zs.ZAdd("myKey", 1, "member1", "")
409 assert.NoError(t, err)
410
411 err = zs.ZAdd("myKey", 2, "member2", "")
412 assert.NoError(t, err)
413
414 err = zs.ZAdd("myKey", 3, "member3", "")
415 assert.NoError(t, err)
416
417 err = zs.ZAdd("myKey", 4, "member4", "")
418 assert.NoError(t, err)
419
420 // Test when member is present in the set
421 rank, err := zs.ZRevRank("myKey", "member3")
422 assert.NoError(t, err) // no error should occur
423 assert.Equal(t, 2, rank) // as we inserted 'member1' first, its rank should be 1
424
425 // Test when member is not present in the set
426 rank, err = zs.ZRevRank("myKey", "unavailableMember")
427 assert.Error(t, err) // an error should occur
428 assert.Equal(t, 0, rank) // as 'unavailableMember' is not part of set, rank should be 0
429
430 // Test with an empty key
431 rank, err = zs.ZRevRank("", "member")
432 assert.Error(t, err) // an error should occur
433 assert.Equal(t, 0, rank) // rank should be 0 for invalid key}
434
435 // Test member2 which should be 2nd
436 rank, err = zs.ZRevRank("myKey", "member1")
437 assert.NoError(t, err) // there should be no errors
438 assert.Equal(t, 4, rank) // rank should be 2 for key `member2`
439
440 // Test member3 which should be 3rd
441 rank, err = zs.ZRevRank("myKey", "member4")
442 assert.NoError(t, err) // there should be no errors
443 assert.Equal(t, 1, rank)
444
445 // remove member2 and test `member3` which should become 2
446 err = zs.ZRem("myKey", "member2")
447 assert.NoError(t, err) // there should be no errors
448 rank, err = zs.ZRevRank("myKey", "member3")
449 assert.NoError(t, err) // there should be no errors
450 assert.Equal(t, 2, rank) // now `member3` should become 2nd
451}
452func TestZRevRange(t *testing.T) {
453 zs, _ := initZSetDB()
454

Callers

nothing calls this directly

Calls 4

initZSetDBFunction · 0.85
ZAddMethod · 0.65
ZRevRankMethod · 0.65
ZRemMethod · 0.65

Tested by

no test coverage detected