diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-15 00:10:59 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-15 00:10:59 +0000 |
| commit | 1216ad50c697235be1cbe9547b91140b6867c5c1 (patch) | |
| tree | e45d30f244d131d21c13bc07605f199be37386bb /repoze/bfg/tests | |
| parent | dadbe296484e6f5af8242b0f8447ff92522deb54 (diff) | |
| download | pyramid-1216ad50c697235be1cbe9547b91140b6867c5c1.tar.gz pyramid-1216ad50c697235be1cbe9547b91140b6867c5c1.tar.bz2 pyramid-1216ad50c697235be1cbe9547b91140b6867c5c1.zip | |
- Move LRU cache implementation into a separate package
(``repoze.lru``).
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_lru.py | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/repoze/bfg/tests/test_lru.py b/repoze/bfg/tests/test_lru.py deleted file mode 100644 index c5224420b..000000000 --- a/repoze/bfg/tests/test_lru.py +++ /dev/null @@ -1,83 +0,0 @@ -import unittest - -class LRUCacheTests(unittest.TestCase): - def _getTargetClass(self): - from repoze.bfg.lru import LRUCache - return LRUCache - - def _makeOne(self, size): - return self._getTargetClass()(size) - - def test_size_lessthan_1(self): - self.assertRaises(ValueError, self._makeOne, 0) - - def test_it(self): - cache = self._makeOne(3) - self.assertEqual(cache.get('a'), None) - cache.put('a', '1') - pos, value = cache.data.get('a') - self.assertEqual(cache.clock[pos]['ref'], True) - self.assertEqual(cache.clock[pos]['key'], 'a') - self.assertEqual(value, '1') - self.assertEqual(cache.get('a'), '1') - self.assertEqual(cache.hand, pos+1) - pos, value = cache.data.get('a') - self.assertEqual(cache.clock[pos]['ref'], True) - self.assertEqual(cache.hand, pos+1) - self.assertEqual(len(cache.data), 1) - cache.put('b', '2') - pos, value = cache.data.get('b') - self.assertEqual(cache.clock[pos]['ref'], True) - self.assertEqual(cache.clock[pos]['key'], 'b') - self.assertEqual(len(cache.data), 2) - cache.put('c', '3') - pos, value = cache.data.get('c') - self.assertEqual(cache.clock[pos]['ref'], True) - self.assertEqual(cache.clock[pos]['key'], 'c') - self.assertEqual(len(cache.data), 3) - pos, value = cache.data.get('a') - self.assertEqual(cache.clock[pos]['ref'], True) - cache.get('a') - cache.put('d', '4') - self.assertEqual(len(cache.data), 3) - self.assertEqual(cache.data.get('b'), None) - cache.put('e', '5') - self.assertEqual(len(cache.data), 3) - self.assertEqual(cache.data.get('c'), None) - self.assertEqual(cache.get('d'), '4') - self.assertEqual(cache.get('e'), '5') - self.assertEqual(cache.get('a'), '1') - self.assertEqual(cache.get('b'), None) - self.assertEqual(cache.get('c'), None) - -class DecoratorTests(unittest.TestCase): - def _getTargetClass(self): - from repoze.bfg.lru import lru_cache - return lru_cache - - def _makeOne(self, cache): - return self._getTargetClass()(0, cache) - - def test_it(self): - cache = DummyLRUCache() - decorator = self._makeOne(cache) - def wrapped(k): - return k - decorated = decorator(wrapped) - result = decorated(1) - self.assertEqual(cache[1], 1) - self.assertEqual(result, 1) - self.assertEqual(len(cache), 1) - result = decorated(2) - self.assertEqual(cache[2], 2) - self.assertEqual(result, 2) - self.assertEqual(len(cache), 2) - result = decorated(2) - self.assertEqual(cache[2], 2) - self.assertEqual(result, 2) - self.assertEqual(len(cache), 2) - -class DummyLRUCache(dict): - def put(self, k, v): - return self.__setitem__(k, v) - |
