@@ -775,64 +775,5 @@ def test_popitem(self):
775775 self .assertRaises (KeyError , d .popitem )
776776
777777
778- class SimpleLRUCache :
779-
780- def __init__ (self , size ):
781- super ().__init__ ()
782- self .size = size
783-
784- def __getitem__ (self , item ):
785- value = super ().__getitem__ (item )
786- self .move_to_end (item )
787- return value
788-
789- def __setitem__ (self , key , value ):
790- while key not in self and len (self ) >= self .size :
791- self .popitem (last = False )
792- super ().__setitem__ (key , value )
793- self .move_to_end (key )
794-
795-
796- class SimpleLRUCacheTests :
797-
798- def test_add_after_full (self ):
799- c = self .type2test (2 )
800- c ['t1' ] = 1
801- c ['t2' ] = 2
802- c ['t3' ] = 3
803- self .assertEqual (list (c ), ['t2' , 't3' ])
804-
805- def test_popitem (self ):
806- c = self .type2test (3 )
807- for i in range (1 , 4 ):
808- c [i ] = i
809- self .assertEqual (c .popitem (last = False ), (1 , 1 ))
810- self .assertEqual (c .popitem (last = True ), (3 , 3 ))
811-
812- def test_change_order_on_get (self ):
813- c = self .type2test (3 )
814- for i in range (1 , 4 ):
815- c [i ] = i
816- self .assertEqual (list (c ), list (range (1 , 4 )))
817- self .assertEqual (c [2 ], 2 )
818- self .assertEqual (list (c ), [1 , 3 , 2 ])
819-
820-
821- class PySimpleLRUCacheTests (SimpleLRUCacheTests , unittest .TestCase ):
822-
823- class type2test (SimpleLRUCache , py_coll .OrderedDict ):
824- pass
825-
826-
827- @unittest .skipUnless (c_coll , 'requires the C version of the collections module' )
828- class CSimpleLRUCacheTests (SimpleLRUCacheTests , unittest .TestCase ):
829-
830- @classmethod
831- def setUpClass (cls ):
832- class type2test (SimpleLRUCache , c_coll .OrderedDict ):
833- pass
834- cls .type2test = type2test
835-
836-
837778if __name__ == "__main__" :
838779 unittest .main ()
0 commit comments