def test_smaller_child(): heap = MinHeap() heap.heap_list = [None, 3, 4, 5] heap.size = 3 smaller_1 = heap.get_smaller_child(1) heap.heap_list = [None, 3, 5, 4] smaller_2 = heap.get_smaller_child(1) assert smaller_1 == 2 assert smaller_2 == 3 heap.heap_list = [None, 3, 4] heap.size = 2 smaller = heap.get_smaller_child(1) assert smaller == 2
def test_heapify_down(): heap = MinHeap() heap.heap_list = [None, 4, 2, 3] heap.size = 3 heap.heapify_down() assert heap.heap_list == [None, 2, 4, 3]
def test_heapify_up(): heap = MinHeap() heap.heap_list = [None, 2, 3, 4, 1] heap.size = 4 heap.heapify_up() assert heap.heap_list == [None, 1, 2, 4, 3]
def test_has_child(): heap = MinHeap() heap.heap_list = [None, 3, 4] heap.size = 2 for_num_3 = heap.has_child(1) for_num_4 = heap.has_child(2) assert for_num_3 is True assert for_num_4 is False
def test_retrieve_min(capsys): heap = MinHeap() heap.heap_list = [None, 1, 2, 4, 3] heap.size = 4 minimum = heap.retrieve_min() assert heap.size == 3 assert minimum == 1 assert heap.heap_list == [None, 2, 3, 4] heap.retrieve_min() heap.retrieve_min() heap.retrieve_min() assert heap.retrieve_min() is None captured = capsys.readouterr() assert captured.out == "Error, heap is empty!\n"
# Make another conditional for the comparison between left_child and right_child. # If the left child is smaller, print a message saying so and return the index of the left child. # Else, do the same but for the right child. # Tab over to script.py and test out this new method by replacing None with the correct index value. # import random number generator from random import randrange # import heap class from min_heap import MinHeap # make an instance of MinHeap min_heap = MinHeap() # set internal list for testing purposes... min_heap.heap_list = [None, 10, 13, 21, 61, 22, 23, 99] min_heap.count = 7 print("The smaller child of index 1 is: ") smaller_child_of_idx_1 = min_heap.get_smaller_child_idx(1) smaller_child_element = min_heap.heap_list[smaller_child_of_idx_1] print(smaller_child_element) print("The smaller child of index 2 is: ") smaller_child_of_idx_2 = min_heap.get_smaller_child_idx(2) smaller_child_element = min_heap.heap_list[smaller_child_of_idx_2] print(smaller_child_element) print("The smaller child of index 3 is: ") smaller_child_of_idx_3 = min_heap.get_smaller_child_idx(3) smaller_child_element = min_heap.heap_list[smaller_child_of_idx_3]
def test_swap(): heap = MinHeap() heap.heap_list = [None, 3, 4] heap.swap(1, 2) assert heap.heap_list == [None, 4, 3]