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() == []
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]