def test_delete(self): hash_table = MyHash() # Test basic deletion hash_table.set('hello', 'world') length = len(hash_table.values()) hash_table.delete('hello') self.assertLess(len(hash_table.values()), length)
def test_resize(self): hash_table = MyHash() # test both increasing in size when load factor is met original_length = len(hash_table._buckets) for i in range(30): key = ''.join(random.choice(string.lowercase) for i in range(3)) val = ''.join(random.choice(string.lowercase) for i in range(3)) hash_table.set(key, val) new_length = len(hash_table._buckets) self.assertGreater(new_length, original_length) # test decreasing in size when load is too small for key in hash_table.keys()[:26]: hash_table.delete(key) new_length = len(hash_table._buckets) self.assertEqual(new_length, original_length)