pygorithm/test/test_search.py

44 lines
1.2 KiB
Python
Raw Permalink Normal View History

from search.binary_search import *
def test_binary_search():
sequence = [1, 4, 6, 10, 14, 18, 24, 39, 50]
num1 = 10
num2 = 11
num3 = 50
assert 3 == binary_search(sequence, num1)
assert not binary_search(sequence, num2)
assert 8 == binary_search(sequence, num3)
def test_binary_search_recur():
sequence = [1, 4, 6, 10, 14, 18, 24, 39, 50]
num1 = 10
num2 = 11
num3 = 50
assert 3 == binary_search_recur(sequence, num1, 0, len(sequence) - 1)
assert not binary_search_recur(sequence, num2, 0, len(sequence) - 1)
assert 8 == binary_search_recur(sequence, num3, 0, len(sequence) - 1)
def test_interpolation_search():
sequence = [1, 4, 6, 10, 14, 18, 24, 39, 50]
num1 = 10
num2 = 11
num3 = 50
assert 3 == interpolation_search(sequence, num1,)
assert not interpolation_search(sequence, num2, )
assert 8 == interpolation_search(sequence, num3, )
def test_exponential_search():
sequence = [1, 4, 6, 10, 14, 18, 24, 39, 50]
num1 = 10
num2 = 11
num3 = 50
assert 3 == exponential_search(sequence, num1,)
assert not exponential_search(sequence, num2, )
assert 8 == exponential_search(sequence, num3, )