Skip to content

Commit 9d511b7

Browse files
efkon-tkemtkem
authored andcommitted
Improve unit tests.
1 parent 79aa8c7 commit 9d511b7

File tree

4 files changed

+49
-1
lines changed

4 files changed

+49
-1
lines changed

tests/test_fifo.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from . import CacheTestMixin
66

77

8-
class LRUCacheTest(unittest.TestCase, CacheTestMixin):
8+
class FIFOCacheTest(unittest.TestCase, CacheTestMixin):
99
Cache = FIFOCache
1010

1111
def test_fifo(self):
@@ -54,3 +54,15 @@ def test_fifo_getsizeof(self):
5454
cache[4] = 4
5555
self.assertEqual(len(cache), 1)
5656
self.assertEqual(cache[3], 3)
57+
58+
def test_fifo_update_existing(self):
59+
cache = FIFOCache(maxsize=2)
60+
61+
cache[1] = 1
62+
cache[2] = 2
63+
cache[1] = "updated"
64+
cache[3] = 3
65+
66+
self.assertEqual(cache[1], "updated")
67+
self.assertIn(3, cache)
68+
self.assertNotIn(2, cache)

tests/test_lfu.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,15 @@ def test_lfu_getsizeof(self):
5252
cache[4] = 4
5353
self.assertEqual(len(cache), 1)
5454
self.assertEqual(cache[3], 3)
55+
56+
def test_lfu_update_existing(self):
57+
cache = LFUCache(maxsize=2)
58+
59+
cache[1] = 1
60+
cache[2] = 2
61+
cache[1] = "updated"
62+
cache[3] = 3
63+
64+
self.assertEqual(cache[1], "updated")
65+
self.assertIn(3, cache)
66+
self.assertNotIn(2, cache)

tests/test_lru.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,15 @@ def test_lru_getsizeof(self):
5454
cache[4] = 4
5555
self.assertEqual(len(cache), 1)
5656
self.assertEqual(cache[3], 3)
57+
58+
def test_lru_update_existing(self):
59+
cache = LRUCache(maxsize=2)
60+
61+
cache[1] = 1
62+
cache[2] = 2
63+
cache[1] = "updated"
64+
cache[3] = 3
65+
66+
self.assertEqual(cache[1], "updated")
67+
self.assertIn(3, cache)
68+
self.assertNotIn(2, cache)

tests/test_rr.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,18 @@ def test_rr_getsizeof(self):
5656
self.assertEqual(len(cache), 1)
5757
self.assertEqual(cache[3], 3)
5858

59+
def test_rr_update_existing(self):
60+
cache = RRCache(maxsize=2, choice=min)
61+
62+
cache[1] = 1
63+
cache[2] = 2
64+
cache[1] = "updated"
65+
cache[3] = 3
66+
67+
self.assertIn(2, cache)
68+
self.assertIn(3, cache)
69+
self.assertNotIn(1, cache)
70+
5971
def test_rr_bad_choice(self):
6072
def bad_choice(seq):
6173
raise ValueError("test error")

0 commit comments

Comments
 (0)