public void MaxHeapRemoveRootReturnsLargestValue()
        {
            int         testOrder      = 2;
            IList <int> testCollection = new List <int> {
                50, 51, 38, 37, 23, 11, 5, 3
            };

            var maxDHeap = new MaxDHeap <int>(testOrder, testCollection.Randomize());

            int root = maxDHeap.RemoveRoot();

            Assert.AreEqual(51, root);
        }
        public void MaxHeapMovesNextLargestValueToRootAfterRemoveRoot()
        {
            int         testOrder      = 2;
            IList <int> testCollection = new List <int> {
                50, 51, 38, 37, 23, 11, 5, 3
            };

            var maxDHeap = new MaxDHeap <int>(testOrder, testCollection.Randomize());

            maxDHeap.RemoveRoot();

            int newRoot = maxDHeap.Peek();

            Assert.AreEqual(50, newRoot);
        }