def testExtractMax(self): # Single element heap = Heap([1]) assert heap.extract_max() == 1 # Sorted, n = 2 heap = Heap([1, 2]) for i in [2, 1]: assert heap.extract_max() == i # Reversed, n = 2 heap = Heap([2, 1]) for i in [2, 1]: assert heap.extract_max() == i # Sorted, n = 3 heap = Heap([1, 2, 3]) for i in [3, 2, 1]: assert heap.extract_max() == i # Reversed, n = 3 heap = Heap([3, 2, 1]) for i in [3, 2, 1]: assert heap.extract_max() == i # Intercalated, n = 5 heap = Heap([1, 5, 2, 3, 4]) for i in [5, 4, 3, 2, 1]: assert heap.extract_max() == i