def test_set_one_letter_key(): size = 8 chars = "habcdefg" h = HashTable(size) for c in chars: h.set(c, 63) assert h.table == [[(letter, 63)] for letter in chars]
def test_get_key_not_exist(self): my_hash_table = HashTable() with self.assertRaises(KeyError): my_hash_table.get_value_by_key("key1") my_hash_table.add_entry("key1", "value1") with self.assertRaises(KeyError): my_hash_table.get_value_by_key("key2")
def test_hash_two_letter_key(): size = 8 char = "ab" h = HashTable(size) assert h.hash(char) == ( sum([ord(c) for c in char]) % size )
def test_update_existing_element(self): my_hash_table = HashTable() my_hash_table.add_entry("key1", "value1") my_hash_table.add_entry("key2", "value2") my_hash_table.add_entry("key2", "newValue2") self.assertEqual(my_hash_table.current_items_count, 2) self.assertEqual(my_hash_table.get_value_by_key("key2"), "newValue2")
def test_delete_entry(self): my_hash_table = HashTable() my_hash_table.add_entry("key1", "value1") my_hash_table.add_entry("key2", "value2") my_hash_table.add_entry("key3", "value3") my_hash_table.delete_entry_by_key("key2") self.assertEqual(my_hash_table.current_items_count, 2) with self.assertRaises(KeyError): my_hash_table.get_value_by_key("key2")
def test_add_multiple_elements(self): my_hash_table = HashTable() my_hash_table.add_entry("key1", "value1") my_hash_table.add_entry("key2", "value2") my_hash_table.add_entry("key3", "value3") self.assertEqual(my_hash_table.current_items_count, 3) self.assertEqual(my_hash_table.get_value_by_key("key1"), "value1") self.assertEqual(my_hash_table.get_value_by_key("key2"), "value2") self.assertEqual(my_hash_table.get_value_by_key("key3"), "value3")
def test_get_one_letter_key(): size = 8 chars = "habcdefg" h = HashTable(size) for c in chars: h.set(c, 63) h.set('i', 8) h.set('r', 15) assert h.get('r') == 15 assert h.get('i') == 8 assert h.get('c') == 63
def test_multiple_sets(): size = 8 chars = "habcdefg" h = HashTable(size) for c in chars: h.set(c, 63) h.set('i', 80) h.set('r', 15) h.set('i', 9) h.set('i', 10) h.set('i', 14) assert h.get('i') == 14
def setUp(self): self.hash_table = HashTable(8)
def test_set_all_words(): wordlist = _make_wordlist() h = HashTable(256) for ind, word in enumerate(wordlist): h.set(word[:-1], word[:-1]) assert h.get('zoom') == 'zoom'
def test_hash_one_letter_key(): size = 8 char = "a" h = HashTable(size) assert h.hash(char) == (ord(char) % size)
def test_add_first_to_empty_table(self): my_hash_table = HashTable() my_hash_table.add_entry("key1", "value1") self.assertEqual(my_hash_table.current_items_count, 1) self.assertEqual(my_hash_table.get_value_by_key("key1"), "value1")