def test_remove(self):
        prio_set_list = event._PrioritizedSetList()
        obj = (1,)

        prio_set_list.add(1, obj)
        assert prio_set_list
        prio_set_list.remove(obj)
        assert not prio_set_list

        with pytest.raises(ValueError) as excinfo:
            prio_set_list.remove(obj)
        excinfo.match(r"can not be found")
def split(root, minRight):
    if root is None:
        return None, None
    if root.key >= minRight:
        left, right = split(root.left, minRight)
        root.left = right
        root.update()
        return left, root
    else:
        left, right = split(root.right, minRight)
        root.right = left
        root.update()
        return root, right