def test_delete_key(self): m = HashTable(10) for i in range(5): m.put(i, i**2) m.del_(1) self.assertEqual(None, m.get(1)) self.assertEqual(4,m.get(2))
def test_delete_key(self): m = HashTable(10) for i in range(5): m.put(i, i**2) m.del_(1) self.assertEqual(None, m.get(1)) self.assertEqual(4, m.get(2))
def test_two_entries_with_same_hash(self): m = HashTable(10) m.put(1, '1') m.put(11, '11') self.assertEqual('1', m.get(1)) self.assertEqual('11', m.get(11))
def test_get_none_if_key_missing_and_hash_collision(self): m = HashTable(10) m.put(1, '1') self.assertEqual(None, m.get(11))
def test_add_entry_bigger_than_table_size(self): m = HashTable(10) m.put(11, '1') self.assertEqual('1', m.get(11))
def test_one_entry(self): m = HashTable(10) m.put(1, '1') self.assertEqual('1', m.get(1))
from algorithms.map import HashTable htable = HashTable() htable.put(1, 34) htable.put(2, 45) htable.put(3, 65) htable.put(4, 77) print(htable.get(3)) """ 1 34 2 45 3 65 4 77 3 """
def test_delete_key_and_reassign(self): m = HashTable(10) m.put(1, 1) del m[1] m.put(1, 2) self.assertEqual(2, m.get(1))
def test_fill_up_the_limit(self): m = HashTable(10) for i in range(10): m.put(i,i**2) for i in range(10): self.assertEqual(i**2,m.get(i))
def test_get_on_full_table_does_halts(self): # and does not search forever m = HashTable(10) for i in range(10, 20): m.put(i, i) self.assertEqual(None, m.get(1))
def test_one_entry(self): m = HashTable(10) m.put(1, "1") self.assertEqual("1", m.get(1))
def test_two_entries_with_same_hash(self): m = HashTable(10) m.put(1, "1") m.put(11, "11") self.assertEqual("1", m.get(1)) self.assertEqual("11", m.get(11))
def test_fill_up_the_limit(self): m = HashTable(10) for i in range(10): m.put(i, i**2) for i in range(10): self.assertEqual(i**2, m.get(i))