Esempio n. 1
0
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]
Esempio n. 2
0
 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")
Esempio n. 3
0
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
        )
Esempio n. 4
0
    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")
Esempio n. 5
0
 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")
Esempio n. 6
0
    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")
Esempio n. 7
0
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
Esempio n. 8
0
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
Esempio n. 9
0
 def setUp(self):
     self.hash_table = HashTable(8)
Esempio n. 10
0
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'
Esempio n. 11
0
def test_hash_one_letter_key():
    size = 8
    char = "a"
    h = HashTable(size)
    assert h.hash(char) == (ord(char) % size)
Esempio n. 12
0
 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")