Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
4
Indexable
def test_sort(sorting_algorithm):
    """Тестируем алгоритм, сортирующий список по возрастанию."""
    print(f'Тестируем: {sorting_algorithm.__doc__}')
    intfloat = [1, 3, 2, 4]
    negative = [1, 3, 2, -4]
    same = [1, 1, 4, 3]
    empty = []
    assert sorting_algorithm(intfloat) == [1, 2, 3, 4], (
        f'Алгоритм {sorting_algorithm.__name__} работает неправильно со списком, содержащим'
        ' int и float')
    assert sorting_algorithm(negative) == [-4, 1, 2, 3], (
        f'Алгоритм {sorting_algorithm.__name__} работает неправильно со списком, содержащим'
        ' отрицательные величины, нулевое значение')
    assert sorting_algorithm(same) == [1, 1, 3, 4], (
        f'Алгоритм {sorting_algorithm.__name__} работает неправильно со списком, содержащим'
        ' одинаковые значения')
    assert sorting_algorithm(empty) == [], (
        f'Алгоритм {sorting_algorithm.__name__} работает неправильно с пустым списком')
 
    print(f'Тест для {sorting_algorithm.__name__} завершён')
	

sort_funcs = [
    bubble_sort,
    timsort_sort,
    selection_sort,
    insertion_sort,
    cap_sort,
    merge_sort,
    heap_sort,
    stepa_sort,
    quick_sort,
    sus_sort,
]
for func in sort_funcs:
    try:
        test_sort(func)
    except AssertionError as e:
        print(str(e))
Editor is loading...