(t *testing.T)
| 401 | assert.Equal(t, 2, rank) // now `member3` should become 2nd |
| 402 | } |
| 403 | func 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 | } |
| 452 | func TestZRevRange(t *testing.T) { |
| 453 | zs, _ := initZSetDB() |
| 454 |
nothing calls this directly
no test coverage detected