def test_search_resolution_chaning_with_collision(self): # Arrange key = 'key' value = 'value' key2 = 'key2' value2 = 'value2' ht = HashTable(container_type=LinkedList, resolution=HashTable.RESOLUTION_CHAINING, hash_function=lambda x: 1) ht.insert(key, value) ht.insert(key2, value2) # Act + Assert self.assertEqual((value, value2), (ht.search(key), ht.search(key2)))
def test_search_resolution_overwrite(self): # Arrange key = 'key' value = 'value' ht = HashTable() ht.insert(key, value) # Act + Assert self.assertEqual(value, ht.search(key))
def test_search_resolution_chaning_without_collision(self): # Arrange key = 'key' value = 'value' ht = HashTable(container_type=LinkedList, resolution=HashTable.RESOLUTION_CHAINING) ht.insert(key, value) # Act + Assert self.assertEqual(value, ht.search(key))
def test_delete_resolution_overwrite(self): # Arrange key = 'key' value = 'value' ht = HashTable() ht.insert(key, value) # Act ht.delete(key) # Assert self.assertIsNone(ht.search(key))
def test_delete_resolution_chaning_without_collision(self): return # Arrange key = 'key' value = 'value' ht = HashTable(container_type=LinkedList, resolution=HashTable.RESOLUTION_CHAINING) ht.insert(key, value) # Act ht.delete(key) # Assert self.assertIsNone(ht.search(key))
def test_delete_resolution_chaning_with_collision(self): # Arrange key = 'key' value = 'value' key2 = 'key2' value2 = 'value2' ht = HashTable() ht.insert(key, value) ht.insert(key2, value2) # Act ht.delete(key) # Assert self.assertIsNone(ht.search(key))