def test_add(): hashtable = Hashtable() index = hashtable.hash("spam") assert hashtable.buckets[index] is None hashtable.add("spam", "eggs") bucket = hashtable.buckets[index] assert bucket
def test_hash_banana(): ht = Hashtable() actual = ht.hash("banana") # in range index assert 0 <= actual <= 1024
def test_hash_apple(): ht = Hashtable() actual = ht.hash("apple") # in range index assert 0 <= actual <= 1024
def test_hash_is_same_each_time(): ht = Hashtable() assert ht.hash('test') == ht.hash('test')
def test_add_two_to_same_index(): ht = Hashtable() ht.add('test', 'object') ht.add('test', 'array') assert ht._array[ht.hash('test')].head.data == ('test', 'array') assert ht._array[ht.hash('test')].head._next.data == ('test', 'object')
def test_add_one(): ht = Hashtable() ht.add('test', 'object') assert ht._array[ht.hash('test')].head.data == ('test', 'object')
def test_add(): ht = Hashtable() ht.size = 0 ht.add("test_key", "test_value") ht.size = 1 assert ht.buckets[ht.hash("test_key")].value == "test_value"
def test_hash_consistency(): hashtable = Hashtable() key = "apple" index = hashtable.hash(key) actual = hashtable.hash(key) assert actual == index
def test_different_index(): hashtable = Hashtable() key_a = "listen" key_b = "zilent" assert hashtable.hash(key_a) != hashtable.hash(key_b)
def test_same_index(): hashtable = Hashtable() key_a = "listen" key_b = "silent" assert hashtable.hash(key_a) == hashtable.hash(key_b)