public void ExtractMaxTest()
        {
            var heap = new BinaryMaxHeap(new int[] { 4, 1, 3, 2, 16, 9, 10, 14, 8, 7 });

            heap.ExtractMax().Should().Be(16);
            heap.ExtractMax().Should().Be(14);
            heap.ExtractMax().Should().Be(10);
            heap.ExtractMax().Should().Be(9);
            heap.ExtractMax().Should().Be(8);
            heap.ExtractMax().Should().Be(7);
            heap.ExtractMax().Should().Be(4);
            heap.ExtractMax().Should().Be(3);
            heap.ExtractMax().Should().Be(2);
            heap.ExtractMax().Should().Be(1);
            Action emptyHeapPop = () => heap.ExtractMax();

            emptyHeapPop.Should().Throw <Exception>()
            .WithMessage("Heap empty");
        }