def test_in_range_hash():
    hashtable = Hashtable()
    actual = hashtable._hash(
        'JkhakjfhkjghjkwshgkjashgjkwhAGKJHGJKHWGEJKhahgfkjaghkjahgkjaghkjaghkjaghkjaghkjahgkjah'
    )

    # assert actual >= 0
    # assert actual < hashtable._size

    assert 0 <= actual < hashtable._size
def test_predictable_hash():
    hashtable = Hashtable()
    initial = hashtable._hash('spam')
    secondary = hashtable._hash('spam')
    assert initial == secondary
def test_in_range_hash():
    hashtable = Hashtable()
    actual = hashtable._hash('spam')
    assert 0 <= actual < hashtable._size
def test_hashtable_collision():
    hashtable = Hashtable()
    initial = hashtable.add('listen', 'One')
    secondary = hashtable.add('silent', 'Two')
    assert hashtable._hash('listen') == hashtable._hash('silent')
def test_different_hash():
    hashtable = Hashtable()
    initial = hashtable._hash('glisten')
    secondary = hashtable._hash('silent')
    assert initial != secondary
def test_same_hash():
    hashtable = Hashtable()
    initial = hashtable._hash('listen')
    secondary = hashtable._hash('silent')
    assert initial == secondary