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

Function TestSkipList_delete

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

Source from the content-addressed store, hash-verified

679}
680
681func 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
729type testZSetNodeValue struct {
730 score int

Callers

nothing calls this directly

Calls 4

newZSetNodesFunction · 0.85
RemoveNodeMethod · 0.80
existsMethod · 0.45

Tested by

no test coverage detected