def test_heapify_1000_elements_in_reverse_order(): heap = heapify(list(range(1000, -1, -1))) elem_pos = heap[9] par_pos = parent_position(9) while par_pos > 0: assert heap[elem_pos] > heap[par_pos] elem_pos = par_pos par_pos = parent_position(elem_pos)
def test_heapify_nothing(): heap = heapify([]) assert heap == []
def test_heapify_2_equal_elements(): heap = heapify([2, 2]) assert heap == [2, 2]
def test_heapify_2_elements_reverse(): heap = heapify([2, 1]) assert heap == [1, 2]
def test_heapify_2_elements(): heap = heapify([1, 2]) assert heap == [1, 2]
def test_heapify_5_elements_1(): heap = heapify([3, 2, 1, 5, 4]) assert heap == [1, 3, 2, 5, 4]
def test_sort_with_10_000_elements(): big_number = 10_000 heap = heapify(list(range(big_number, -1, -1)), min_heap=False) sort(heap) assert heap == list(range(big_number + 1))
def test_heapify_1_element(): heap = heapify([1]) assert heap == [1]
def test_heapify_1_element_in_existing_heap_2(): heap = heapify([2, 4, 5, 3]) assert heap == [2, 3, 5, 4]
def test_heapify_4_elements_2(): heap = heapify([3, 4, 4, 1]) assert heap == [1, 3, 4, 4]
def test_heapify_6_elements_3(): heap = heapify([5, 4, 3, 2, 1, 0]) assert heap == [0, 2, 1, 5, 3, 4]
def test_heapify_6_elements_2(): heap = heapify([0, 2, 1, 4, 5, 3]) assert heap == [0, 2, 1, 4, 5, 3]
def test_heapify_4_elements_1(): heap = heapify([3, 4, 2, 1]) assert heap == [1, 2, 3, 4]
def test_heapify_6_elements_1(): heap = heapify([3, 2, 4, 1, 5, 0]) assert heap == [0, 2, 1, 3, 5, 4]
def test_heapify_5_elements_2(): heap = heapify([3, 2, 3, 1, 1]) assert heap == [1, 1, 3, 3, 2]
def test_heapify_3_elements_2(): heap = heapify([2, 1, 3]) assert heap == [1, 2, 3]
def test_heapify_3_elements_3(): heap = heapify([3, 2, 1]) assert heap == [1, 3, 2]
def test_heapify_7_elements_1(): heap = heapify([6, 5, 4, 3, 2, 1, 0]) assert heap == [0, 3, 1, 6, 4, 5, 2]
def test_sort_with_10_elements(): heap = heapify(list(range(10, -1, -1)), min_heap=False) sort(heap) assert heap == list(range(11))
def test_heapify_1_element_in_existing_heap_1(): heap = heapify([0, 2, 3, 1, 6, 4, 5]) assert heap == [0, 1, 3, 2, 6, 4, 5]
def test_max_heap_with_10_elements(): heap = heapify(list(range(10, 0, -1)), min_heap=False) assert heap == [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
def test_heapify_4_elements_3(): heap = heapify([3, 3, 3, 3]) assert heap == [3, 3, 3, 3]