(t *testing.T)
| 679 | } |
| 680 | |
| 681 | func TestSkipList_delete(t *testing.T) { |
| 682 | type deleteTest struct { |
| 683 | name string |
| 684 | score int |
| 685 | member string |
| 686 | targetList []testZSetNodeValue |
| 687 | inputList []testZSetNodeValue |
| 688 | } |
| 689 | |
| 690 | vals := []testZSetNodeValue{ |
| 691 | {score: 1, member: "mem1", value: nil}, |
| 692 | {score: 2, member: "mem2", value: nil}, |
| 693 | {score: 3, member: "mem3", value: nil}, |
| 694 | {score: 4, member: "mem4", value: nil}, |
| 695 | {score: 5, member: "mem5", value: nil}, |
| 696 | } |
| 697 | |
| 698 | // Omitted: Add some nodes into sl... |
| 699 | |
| 700 | tests := []deleteTest{ |
| 701 | { |
| 702 | name: "Delete Test 1", |
| 703 | score: 15, |
| 704 | member: "member1", |
| 705 | targetList: []testZSetNodeValue{{score: 3, member: "mem3"}}, // result of adding nodes into sl |
| 706 | inputList: vals, |
| 707 | }, |
| 708 | // Add more test cases here... |
| 709 | } |
| 710 | |
| 711 | for _, test := range tests { |
| 712 | t.Run(test.name, func(t *testing.T) { |
| 713 | head := newZSetNodes() |
| 714 | populateSkipListFromSlice(head, test.inputList) |
| 715 | |
| 716 | for _, value := range test.targetList { |
| 717 | // check if the insertion has been performed |
| 718 | assert.True(t, head.exists(value.score, value.member)) |
| 719 | // delete the target members |
| 720 | assert.NoError(t, head.RemoveNode(value.member)) |
| 721 | // check to see if the deletion has been correctly performed |
| 722 | assert.False(t, head.exists(value.score, value.member)) |
| 723 | |
| 724 | } |
| 725 | }) |
| 726 | } |
| 727 | } |
| 728 | |
| 729 | type testZSetNodeValue struct { |
| 730 | score int |
nothing calls this directly
no test coverage detected