コード例 #1
0
 def test_hash(self):
     s = 7
     m = 31
     self.assertEqual(HashTable._hash(''), s)
     self.assertEqual(HashTable._hash('a'), s * m + ord('a'))
     self.assertEqual(HashTable._hash('hi'),
                      (s * m + ord('h')) * m + ord('i'))
コード例 #2
0
def test_bucket_add_duplicates_includes():
    ht = HashTable()
    ht.add('apple', 43)
    ht.add('apple', 6)
    ht.add('apple', 643)
    apple_index = ht._hash('apple')
    ht.add('mango', 'steen')
    mango_index = ht._hash('mango')

    assert ht._hash_table[mango_index].includes('mango') == True
    assert ht._hash_table[apple_index].includes('mango') == False
    assert ht._hash_table[apple_index].includes('apple') == True
コード例 #3
0
def test_hash():
    ht = HashTable()
    hash_val = ht._hash('apple')
    assert hash_val == 847
    assert ht._hash('apple') == hash_val
コード例 #4
0
def test_bucket_includes():
    ht = HashTable()
    ht.add('apple', 43)
    hash_val = ht._hash('apple')
    assert ht._hash_table[hash_val].includes('apple') == True
    assert ht._hash_table[hash_val].includes('mango') == False
コード例 #5
0
def test_add_to_hash_table():
    ht = HashTable()
    ht.add('apple', 43)
    hash_val = ht._hash('apple')
    assert ht._hash_table[hash_val].head.key == 'apple'
    assert ht._hash_table[hash_val].head.value == 43
コード例 #6
0
 def test_hash(self):
     s = 7
     m = 31
     self.assertEqual(HashTable._hash(''), s)
     self.assertEqual(HashTable._hash('a'), s*m + ord('a'))
     self.assertEqual(HashTable._hash('hi'), (s*m + ord('h'))*m + ord('i'))