Example #1
0
 def test_basic(self):
     from wesgi import LRUCache
     cache = LRUCache()
     self.assertEquals(cache.get('a'), None)
     self.assertEquals(cache.get('b'), None)
     self.assertEquals(cache._refcount, {'a': 1, 'b': 1})
     self.assertEquals(cache._cache, {})
     cache.set('a', 'x')
     self.assertInvariants(cache)
     self.assertEquals(cache.get('a'), 'x')
     self.assertEquals(cache.get('b'), None)
     self.assertEquals(cache._refcount, {'a': 3, 'b': 2})
     self.assertEquals(cache._cache, {'a': 'x'})
     cache.set('b', 'y')
     self.assertInvariants(cache)
     self.assertEquals(cache.get('a'), 'x')
     self.assertEquals(cache.get('b'), 'y')
     self.assertEquals(cache._refcount, {'a': 4, 'b': 4})
     self.assertEquals(cache._cache, {'a': 'x', 'b': 'y'})
     cache.set('b', 'z')
     self.assertInvariants(cache)
     self.assertEquals(cache.get('a'), 'x')
     self.assertEquals(cache.get('b'), 'z')
     self.assertEquals(cache._refcount, {'a': 5, 'b': 6})
     self.assertEquals(cache._cache, {'a': 'x', 'b': 'z'})
     cache.delete('b')
     self.assertInvariants(cache)
     self.assertEquals(cache._refcount, {'a': 5, 'b': 6})
     self.assertEquals(cache.get('a'), 'x')
     self.assertEquals(cache.get('b'), None)
     self.assertEquals(cache._cache, {'a': 'x'})
     cache.delete('a')
     self.assertInvariants(cache)
     self.assertEquals(cache._refcount, {'a': 6, 'b': 7})
     self.assertEquals(cache.get('a'), None)
     self.assertEquals(cache.get('b'), None)
     self.assertEquals(cache._cache, {})