diff --git a/benchmarks/test_sort.py b/benchmarks/test_sort.py deleted file mode 100644 index 58922b27c..000000000 --- a/benchmarks/test_sort.py +++ /dev/null @@ -1,66 +0,0 @@ -import random - -import pytest - - -def bubble_sort(arr: list[int]) -> list[int]: - result = arr[:] - for _ in range(len(result)): - for j in range(len(result) - 1): - if result[j] > result[j + 1]: - result[j], result[j + 1] = result[j + 1], result[j] - return result - - -def merge(sorted_left: list[int], sorted_right: list[int]) -> list[int]: - result = [] - left = right = 0 - while left < len(sorted_left) and right < len(sorted_right): - if sorted_left[left] < sorted_right[right]: - result.append(sorted_left[left]) - left += 1 - else: - result.append(sorted_right[right]) - right += 1 - result.extend(sorted_left[left:]) - result.extend(sorted_right[right:]) - return result - - -def merge_sort(arr: list[int]) -> list[int]: - if len(arr) <= 1: - return arr - left = merge_sort(arr[: len(arr) // 2]) - right = merge_sort(arr[len(arr) // 2 :]) - return merge(left, right) - - -def sorted_and_shuffled_array(n: int) -> tuple[list[int], list[int]]: - sorted_array = list(range(n)) - shuffled_array = sorted_array[:] - random.shuffle(shuffled_array) - return sorted_array, shuffled_array - - -def helper_test_sort(sort_func, benchmark, n): - sorted_array, shuffled_array = sorted_and_shuffled_array(n) - result = benchmark(sort_func, shuffled_array) - assert result == sorted_array - - -sizes = [10, 100, 1000] - - -@pytest.mark.parametrize("n", sizes) -def test_bubble_sort(benchmark, n): - helper_test_sort(bubble_sort, benchmark, n) - - -@pytest.mark.parametrize("n", sizes) -def test_merge_sort(benchmark, n): - helper_test_sort(merge_sort, benchmark, n) - - -@pytest.mark.parametrize("n", sizes) -def test_builtin_sort(benchmark, n): - helper_test_sort(sorted, benchmark, n)