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, {})