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
Example #2
0
def test_unknown_key():
    ht = Hashtable()
    ht.add("banana", 9)
    actual = ht.get("cucumber")
    expected = None

    assert actual == expected
Example #3
0
def repeated_word(sentence):
    words = sentence.split()
    for w in range(len(words)):
        pattern = r'[^\w\s]'
        words[w] = re.sub(pattern,'', words[w])
    hash = Hashtable()
    for word in words :
        if hash.contains(word.upper()):
            return word
        hash.add(word,word.upper())
Example #4
0
def tree_intersection(tree_1, tree_2=0):
    arr = []
    hashtable = Hashtable()
    top = tree_1.preOrder().top
    while top:
        if not hashtable.contains(top.value):
            hashtable.add(0, top.value)
        top = top.next
    top = tree_2.preOrder().top
    while top:
        if hashtable.contains(top.value):
            arr.append(int(top.value))
        top = top.next
    return arr
def left_join(hash_1,hash_2):
    arr = []
    for item in hash_1.get_data():
        if item :
            arr.append(item.head.data)
    for item in arr:
        key = item[0]
        if hash_2.contains(key):
            item.append(hash_2.get(key))
        else:
            item.append(None)
    return arr

if __name__ =="__main__":
    hash_1 = Hashtable(4)
    hash_1.add('key1','word1')
    hash_1.add('key2','word2')
    hash_1.add('key3','word3')
    hash_1.add('key4','word4')
    hash_1.add('key5','word5')

    hash_2 = Hashtable(4)
    hash_2.add('key1','word11')
    hash_2.add('key2','word22')
    hash_2.add('key3','word33')
    hash_2.add('key6','word66')

    r = left_join(hash_1,hash_2)
    print(r)
Example #6
0
def test_get_banana():
    ht = Hashtable()
    ht.add("banana", 9)
    actual = ht.get("banana")
    expected = 9
    assert actual == expected
Example #7
0
def test_get_apple():
    ht = Hashtable()
    ht.add("apple", 42)
    actual = ht.get("apple")
    expected = 42
    assert actual == expected
Example #8
0
def test_contains():
    new_hashtable = Hashtable()
    new_hashtable.add('Soda', 'MtnDew')
    assert new_hashtable.contains('Soda') == True
Example #9
0
def test_contains_false():
    hashtable = Hashtable()
    hashtable.add('roger', 45)
    actual = hashtable.contains('roger')
    expected = False
    assert actual == expected
Example #10
0
def test_get_one_key():
    ht = Hashtable()
    ht.add('test', 'object')
    assert ht.get('test') == 'object'
Example #11
0
def test_contains_false():
    ht = Hashtable()
    ht.add('potato', 'object')
    assert ht.contains('test') is False
Example #12
0
def test_contains_true():
    ht = Hashtable()
    ht.add('test', 'object')
    assert ht.contains('test') is True
Example #13
0
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')
Example #14
0
def test_add_one():
    ht = Hashtable()
    ht.add('test', 'object')
    assert ht._array[ht.hash('test')].head.data == ('test', 'object')
Example #15
0
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"
Example #16
0
def test_single_hash_pass():
    hashtable = Hashtable()
    hashtable.add('roger', 45)
    actual = hashtable.get('roger')
    expected = 45
    assert actual == expected
Example #17
0
def test_single_hash_fail():
    hashtable = Hashtable()
    hashtable.add('roger', 45)
    actual = hashtable.get('roger')
    expected = 44
    assert actual != expected
Example #18
0
def test_get_three_of_same_key():
    ht = Hashtable()
    ht.add('test', 'object')
    ht.add('test', 'thingy')
    ht.add('test', 'bobcat')
    assert ht.get('test') == 'object | thingy | bobcat'
Example #19
0
def test_get_in_list():
    new_hashtable = Hashtable()
    new_hashtable.add('Candy', 'Crunch')
    assert new_hashtable.get('Candy') == 'Crunch'
Example #20
0
def test_get_three_of_same_key_integer_values():
    ht = Hashtable()
    ht.add('test', 1)
    ht.add('test', 2)
    ht.add('test', 3)
    assert ht.get('test') == '1 | 2 | 3'
Example #21
0
def test_add():
    test_table = Hashtable()
    test_table.add('Home', 'Kansas City')
    assert test_table.get('Home') == 'Kansas City'
Example #22
0
def test_add():
    ht = Hashtable()
    actual = ht.add("apple", 42)
    expected = None
    assert actual == expected