Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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]
Ejemplo n.º 3
0
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]
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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"
Ejemplo n.º 6
0
# 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]
Ejemplo n.º 7
0
def test_swap():
    heap = MinHeap()
    heap.heap_list = [None, 3, 4]
    heap.swap(1, 2)

    assert heap.heap_list == [None, 4, 3]