File tree Expand file tree Collapse file tree 4 files changed +49
-1
lines changed Expand file tree Collapse file tree 4 files changed +49
-1
lines changed Original file line number Diff line number Diff line change 55from . 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 )
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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" )
You can’t perform that action at this time.
0 commit comments