Ejemplo n.º 1
0
    def testLRUWithRemovalMemo(self):
        lru = LRUWithRemovalMemo(2)
        lru[1] = 1
        assert lru.GetAndClearRemovedItems() == []
        lru[2] = 2
        assert lru.GetAndClearRemovedItems() == []
        lru[2] = 3  # Just replace the item (it was not removed)
        assert lru.GetAndClearRemovedItems() == []
        lru[4] = 4
        assert lru.GetAndClearRemovedItems() == [1]
        assert lru.GetAndClearRemovedItems() == []

        del lru[4]
        assert lru.GetAndClearRemovedItems() == [4]
        assert lru.GetAndClearRemovedItems() == []

        assert len(lru) == 1
        lru.clear()
        assert lru.GetAndClearRemovedItems() == []
Ejemplo n.º 2
0
    def testLRUWithRemovalMemo(self):
        lru = LRUWithRemovalMemo(2)
        lru[1] = 1
        assert lru.GetAndClearRemovedItems() == []
        lru[2] = 2
        assert lru.GetAndClearRemovedItems() == []
        lru[2] = 3  # Just replace the item (it was not removed)
        assert lru.GetAndClearRemovedItems() == []
        lru[4] = 4
        assert lru.GetAndClearRemovedItems() == [1]
        assert lru.GetAndClearRemovedItems() == []

        del lru[4]
        assert lru.GetAndClearRemovedItems() == [4]
        assert lru.GetAndClearRemovedItems() == []

        assert len(lru) == 1
        lru.clear()
        assert lru.GetAndClearRemovedItems() == []

        dict_ = _DictWithRemovalMemo()
        dict_[1] = 1
        with pytest.raises(NotImplementedError):
            del dict_[1]