1234567891011121314151617181920212223242526 |
- from attic.lrucache import LRUCache
- from attic.testsuite import AtticTestCase
- class LRUCacheTestCase(AtticTestCase):
- def test(self):
- c = LRUCache(2, dispose=lambda _: None)
- self.assert_equal(len(c), 0)
- for i, x in enumerate('abc'):
- c[x] = i
- self.assert_equal(len(c), 2)
- self.assert_equal(c.items(), set([('b', 1), ('c', 2)]))
- self.assert_equal(False, 'a' in c)
- self.assert_equal(True, 'b' in c)
- self.assert_raises(KeyError, lambda: c['a'])
- self.assert_equal(c['b'], 1)
- self.assert_equal(c['c'], 2)
- c['d'] = 3
- self.assert_equal(len(c), 2)
- self.assert_equal(c['c'], 2)
- self.assert_equal(c['d'], 3)
- del c['c']
- self.assert_equal(len(c), 1)
- self.assert_raises(KeyError, lambda: c['c'])
- self.assert_equal(c['d'], 3)
|