class IndexDestroyTest(unittest.TestCase):
    def setUp(self) -> None:
        self.index = Index(str)

    @given(value=text(), index=integers())
    @settings(max_examples=100)
    def test_destroy(self, value, index):
        self.index.add(value, index)
        self.index.destroy(value, index)
        new_entry = self.index.retrieve(value)
        assert new_entry == set()
        with pytest.raises(KeyError):
            self.index.destroy(value, index)
Esempio n. 2
0
def test_destroy():
    index = Index(bytes)
    index.add(None, 0)
    index.add(b"23", 1)
    index.add(b"23", 2)
    index.add(b"23", 3)
    index.destroy(None, 0)
    assert len(index) == 1
    index.destroy(b"23", 1)
    assert len(index) == 1
    assert index.retrieve(b"23") == {2, 3}
    index.destroy(b"23", 2)
    assert len(index) == 1
    assert index.retrieve(b"23") == {3}
    index.destroy(b"23", 3)
    assert len(index) == 0
    assert index.retrieve(b"23") == set()
    with pytest.raises(KeyError):
        index.destroy(None, 0)
    with pytest.raises(KeyError):
        index.destroy(b"23", 1)