public void DescendingPriorityQueueDeleteMaximumValueTest()
        {
            DescendingPriorityQueue <int, int> priorityQueue = new DescendingPriorityQueue <int, int>();

            priorityQueue.Insert(2, 55);
            priorityQueue.Insert(1, 77);
            Assert.AreEqual(2, priorityQueue.Size);
            Assert.AreEqual(55, priorityQueue.DeleteMaximumValue());
            Assert.AreEqual(1, priorityQueue.Size);
            Assert.AreEqual(77, priorityQueue.DeleteMaximumValue());
            Assert.AreEqual(0, priorityQueue.Size);
        }
        public void DescendingPriorityQueueInsertTest()
        {
            DescendingPriorityQueue <int, int> priorityQueue = new DescendingPriorityQueue <int, int>();

            priorityQueue.Insert(1, 11);
            priorityQueue.Insert(2, 22);
            priorityQueue.Insert(3, 33);
            List <int> valueList = new List <int>();

            while (priorityQueue.Size != 0)
            {
                valueList.Add(priorityQueue.DeleteMaximumValue());
            }
            CollectionAssert.AreEqual(new int[] { 33, 22, 11 }, valueList);
        }
        public void DescendingPriorityQueueDeleteMaximumValueGuardTest()
        {
            DescendingPriorityQueue <int, int> priorityQueue = new DescendingPriorityQueue <int, int>();

            priorityQueue.DeleteMaximumValue();
        }