public void Add(int[] elements, int[] expectedList)
        {
            IntMinHeap heap = new IntMinHeap();

            foreach (int element in elements)
            {
                heap.Add(element);
            }

            List <int> numList = heap.GetList();

            for (int i = 0; i < numList.Count; i++)
            {
                Assert.AreEqual(expectedList[i], numList[i]);
            }
        }
        public void RemoveAllGreatThan(int[] elements, int removeNum, int[] expectedList)
        {
            IntMinHeap heap = new IntMinHeap();

            foreach (int element in elements)
            {
                heap.Add(element);
            }

            heap.RemoveAll(obj => obj > removeNum);

            List <int> numList = heap.GetList();

            for (int i = 0; i < numList.Count; i++)
            {
                Assert.AreEqual(expectedList[i], numList[i]);
            }
        }
        public void Remove(int[] elements, int removeNum, int[] expectedList)
        {
            IntMinHeap heap = new IntMinHeap();

            foreach (int element in elements)
            {
                heap.Add(element);
            }

            bool removeResult = heap.Remove(removeNum);

            List <int> numList = heap.GetList();

            for (int i = 0; i < numList.Count; i++)
            {
                Assert.AreEqual(expectedList[i], numList[i]);
            }
            Assert.AreEqual(true, removeResult);
        }