def test_min_heapify(self): L1 = linked_list(1) L2 = linked_list(2) L2.insert(linked_list_node(2)) L2.insert(linked_list_node(2)) L3 = linked_list(3) L3.insert(linked_list_node(3)) L3.insert(linked_list_node(3)) L4 = linked_list(4) L4.insert(linked_list_node(4)) L5 = linked_list(5) L3.insert(linked_list_node(5)) L3.insert(linked_list_node(5)) L3.insert(linked_list_node(5)) h = min_heap([L5, L1, L2, L3, L4]) h.min_heapify(0) self.assertEquals(h, [L1, L3, L2, L5, L4])
def test_build_min_heap(self): L1 = linked_list(1) L2 = linked_list(2) L2.insert(linked_list_node(2)) L2.insert(linked_list_node(2)) L3 = linked_list(3) L3.insert(linked_list_node(3)) L3.insert(linked_list_node(3)) L4 = linked_list(4) L4.insert(linked_list_node(4)) L5 = linked_list(5) L3.insert(linked_list_node(5)) L3.insert(linked_list_node(5)) L3.insert(linked_list_node(5)) h = min_heap([L3, L4, L5, L2, L1]) h.build_min_heap() self.assertEqual(h, [L1, L2, L5, L3, L4])
def test_min_heapify(self): L1 = LinkedList(1) L2 = LinkedList(2) L2.insert(LinkedListNode(2)) L2.insert(LinkedListNode(2)) L3 = LinkedList(3) L3.insert(LinkedListNode(3)) L3.insert(LinkedListNode(3)) L4 = LinkedList(4) L4.insert(LinkedListNode(4)) L5 = LinkedList(5) L3.insert(LinkedListNode(5)) L3.insert(LinkedListNode(5)) L3.insert(LinkedListNode(5)) h = min_heap([L5, L1, L2, L3, L4]) h.min_heapify(0) self.assertEqual(h, [L1, L3, L2, L5, L4])