def test_eleven_value_left_of_middle_first_index():
    expected = 0
    actual = binary_search([4, 8, 15, 16, 23, 42], 4)
    assert expected == actual


########################
# Stretch Goal
# ######################

# def test_twelve_benchmark_list_length_100(benchmark):
#     result = benchmark.pedantic(binary_search, kwargs={'lst': list(range(100)), 'value': 23}, iterations=1)
#     assert result == 23

# def test_thirteen_benchmark_list_length_1000(benchmark):
#     result = benchmark.pedantic(binary_search, kwargs={'lst': list(range(1000)), 'value': 230}, iterations=1)
#     assert result == 230

# def test_fourteen_benchmark_list_length_10000(benchmark):
#     result = benchmark.pedantic(binary_search, kwargs={'lst': list(range(10000)), 'value': 2300}, iterations=1)
#     assert result == 2300

# def test_fifteen_benchmark_list_length_100000(benchmark):
#     result = benchmark.pedantic(binary_search, kwargs={'lst': list(range(100000)), 'value': 23000}, iterations=1)
#     assert result == 23000
def test_array_binary_search_exsist():

    expected = 0

    lst = [4]
    key = 4
    actual = binary_search(lst, key)
    assert expected == actual
def test_arr_key_edge_one():
    lst = []
    key = 6

    expected = -1
    actual = binary_search(lst, key)

    assert actual == expected
def test_arr_key_fauilure():
    lst = [2, 6, 4, 5, 6]
    key = 6

    expected = [1, 4]
    actual = binary_search(lst, key)

    assert actual == expected
def test_arr_key_positive_one():
    lst = [1, 2, 3, 4, 6]
    key = 6

    expected = 4
    actual = binary_search(lst, key)

    assert actual == expected
def test_array_binary_search_uneven_array():
    expected = 0

    lst = [15, 45, 89]
    key = 15

    actual = binary_search(lst, key)

    assert expected == actual
def test_array_binary_search_happy_path():
    expected = 2

    lst = [1, 2, 5, 7, 8, 10]
    key = 5

    actual = binary_search(lst, key)

    assert expected == actual
def test_array_binary_search_empty_array():
    expected = -1

    lst = []
    key = 99

    actual = binary_search(lst, key)

    assert expected == actual
def test_array_binary_search_not_in_array():
    expected = -1

    lst = [55, 78, 90, 104]
    key = 1

    actual = binary_search(lst, key)

    assert expected == actual
def test_arr_key_positive_three():
    lst = [
        1,
        2,
        4,
    ]
    key = 6

    expected = -1
    actual = binary_search(lst, key)

    assert actual == expected
예제 #11
0
def test_binarysearch_even():
    input_arr = ['a', 'b', 'c', 'd', 'e', 'f']
    input_target = 'b'

    actual = binary_search(input_arr, input_target)
    expected = 1
    assert expected == actual


# def test_binarysearch_odd():
#     input_arr = [3, 6, 9, 12, 18, 21, 24]
#     input_target = 24

#     actual = binary_search(input_arr, input_target)
#     expected = 6
#     assert expected == actual

# def test_binarysearch_no_target():
#     input_arr = [3, 6, 9, 12, 18, 21]
#     input_target = 17

#     actual = binary_search(input_arr, input_target)
#     expected = -1
#     assert expected == actual

# def test_binarysearch_empty_array():
#     input_arr = []
#     input_target = 6

#     actual = binary_search(input_arr, input_target)
#     expected = -1
#     assert expected == actual

# Tests
# 1 Test an even-length valid array and a target value that is present (str)
# 2 Test an odd-length valid array and a target value that is present (int)
# 3 Test a valid array and a target value that is not present
# 4 Test an empty array with a target value
예제 #12
0
def test_no_match():
    actual = binary_search([1,3,6,7,8,9,10], 2)
    expected = -1
    assert actual == expected
예제 #13
0
def test_empty():
    actual = binary_search([], 2)
    expected = -1
    assert actual == expected
def test_not_in_index_three():
    expected = -1
    actual = binary_search([0, 5, 10, 15, 20, 25], 257)
    assert actual == expected
def test_index_one():
    expected = 0
    actual = binary_search([0, 5, 10, 15, 20, 25], 0)
    assert actual == expected
def test_with_strings():
    actual = binary_search(['at', 'from', 'hello', 'hi', 'there', 'this'],
                           'hello')
    expected = 2
    assert actual == expected
def test_with_multiple_matches_both_less_than_mid():
    actual = binary_search([1, 2, 3, 4, 4, 5, 6, 7, 7, 8], 4)
    expected = 3
    assert actual == expected
def test_with_no_matching_elem():
    actual = binary_search([1, 2, 4, 7, 9], 8)
    expected = -1
    assert actual == expected
예제 #19
0
def test_one():
    expected = 11
    actual = binary_search([2, 4, 5, 10, 12, 18, 21, 30, 32, 54, 70, 76], 76)
    assert actual == expected
예제 #20
0
def test_lg():
    actual = binary_search([6,7,8,9,10,12,16,19,20], 12)
    expected = 5
    assert actual == expected
예제 #21
0
def test_even():
    actual = binary_search([7,8,9,10,12,16,19,20], 12)
    expected = 4
    assert actual == expected
def test_binary_search_three():
  actual = binary_search([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15], 12)
  expected = 11
  assert expected == actual
예제 #23
0
def test_two():
    expected = 3
    actual = binary_search([2, 4, 5, 10, 12, 18, 21, 30, 32, 54, 70, 76], 10)
    assert actual == expected
def test_binary_search():
  actual = binary_search([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15], 5)
  expected = 4
  assert expected == actual
def test_with_multiple_matches_both_mid():
    actual = binary_search([1, 4, 4, 5], 4)
    expected = 2
    assert actual == expected
def test_index_two():
    expected = 1
    actual = binary_search([0, 5, 10, 15, 20, 25], 5)
    assert actual == expected
def test_with_odd_num_elem():
    actual = binary_search([1, 2, 4, 7, 9], 4)
    expected = 2
    assert actual == expected
def test_index_three():
    expected = 2
    actual = binary_search([0, 5, 10, 15, 20, 25], 10)
    assert actual == expected
def test_with_even_num_elem():
    actual = binary_search([1, 2, 4, 7], 7)
    expected = 3
    assert actual == expected
def test_index_Four():
    expected = 3
    actual = binary_search([0, 5, 10, 15, 20, 25], 15)
    assert actual == expected