44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
|
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, )
|