File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,9 @@ def __delitem__(self, key):
9595 def __setitem__ (self , key , value ):
9696 self .put (key , value )
9797
98+ def __len__ (self ):
99+ return self ._len
100+
98101
99102class TestHashTable (TestCase ):
100103 def test_one_entry (self ):
@@ -146,3 +149,19 @@ def test_assigning_to_full_table_throws_error(self):
146149 m .put (3 , 3 )
147150 with self .assertRaises (ValueError ):
148151 m .put (4 , 4 )
152+
153+ def test_len_trivial (self ):
154+ m = HashTable (10 )
155+ self .assertEqual (0 , len (m ))
156+ for i in range (10 ):
157+ m .put (i , i )
158+ self .assertEqual (i + 1 , len (m ))
159+
160+ def test_len_after_deletions (self ):
161+ m = HashTable (10 )
162+ m .put (1 , 1 )
163+ self .assertEqual (1 , len (m ))
164+ m .del_ (1 )
165+ self .assertEqual (0 , len (m ))
166+ m .put (11 , 42 )
167+ self .assertEqual (1 , len (m ))
You can’t perform that action at this time.
0 commit comments