delete test_sort
This commit is contained in:
parent
6e79b5afe8
commit
19b9e08874
@ -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)
|
|
Loading…
Reference in New Issue
Block a user