Exemple #1
0
    def test_items(self):
        """Test various items, keys, values and iterators of LRUCache."""
        d = LRUCache(3)
        d["a"] = 1
        d["b"] = 2
        d["c"] = 3
        assert d.items() == list(d.iteritems()) == [('c', 3), ('b', 2),
                                                    ('a', 1)]
        assert d.keys() == list(d.iterkeys()) == ['c', 'b', 'a']
        assert d.values() == list(d.itervalues()) == [3, 2, 1]
        assert list(reversed(d)) == ['a', 'b', 'c']

        # Change the cache a little
        d["b"]
        d["a"] = 4
        assert d.items() == list(d.iteritems()) == [('a', 4), ('b', 2),
                                                    ('c', 3)]
        assert d.keys() == list(d.iterkeys()) == ['a', 'b', 'c']
        assert d.values() == list(d.itervalues()) == [4, 2, 3]
        assert list(reversed(d)) == ['c', 'b', 'a']
Exemple #2
0
 def test_itervalues_empty(self):
     cache = LRUCache(2)
     values = [v for v in cache.itervalues()]
     assert len(values) == 0