summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-15 00:10:59 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-15 00:10:59 +0000
commit1216ad50c697235be1cbe9547b91140b6867c5c1 (patch)
treee45d30f244d131d21c13bc07605f199be37386bb /repoze/bfg/tests
parentdadbe296484e6f5af8242b0f8447ff92522deb54 (diff)
downloadpyramid-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.py83
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)
-