public void IncreaseKey()
        {
            var job = new MockJob {
                Name = "cooking"
            };
            var job2 = new MockJob {
                Name = "homework"
            };
            var job3 = new MockJob {
                Name = "hoover"
            };
            var priorityQueue = new MaxPriorityQueue <MockJob>(new[] { new KeyValuePair <double, MockJob>(2.0, job), new KeyValuePair <double, MockJob>(1.1, job2), new KeyValuePair <double, MockJob>(2.5, job3) });

            priorityQueue.IncreaseKey(1, 3.0);
            Assert.AreEqual("homework", priorityQueue.Maximum().Name, "#E8");
        }
        public void Insert()
        {
            var job = new MockJob {
                Name = "cooking"
            };
            var job2 = new MockJob {
                Name = "homework"
            };
            var job3 = new MockJob {
                Name = "hoover"
            };
            var priorityQueue = new MaxPriorityQueue <MockJob>(new[] { new KeyValuePair <double, MockJob>(2.0, job), new KeyValuePair <double, MockJob>(1.1, job2) });

            priorityQueue.Insert(new KeyValuePair <double, MockJob>(2.5, job3));
            Assert.AreEqual(3, priorityQueue.Count, "#E9");
            Assert.AreEqual("hoover", priorityQueue.Maximum().Name, "#E10");
        }
        public void ExtractMax()
        {
            var job = new MockJob {
                Name = "cooking"
            };
            var priorityQueue = new MaxPriorityQueue <MockJob>(new[] { new KeyValuePair <double, MockJob>(2.0, job) });

            Assert.AreEqual(job.Name, priorityQueue.ExtractMax().Name, "#E2");
            Assert.AreEqual(0, priorityQueue.Count, "#E3");

            var job2 = new MockJob {
                Name = "homework"
            };
            var job3 = new MockJob {
                Name = "hoover"
            };

            priorityQueue = new MaxPriorityQueue <MockJob>(new[] { new KeyValuePair <double, MockJob>(2.0, job), new KeyValuePair <double, MockJob>(1.1, job2), new KeyValuePair <double, MockJob>(2.5, job3) });
            Assert.AreEqual("hoover", priorityQueue.ExtractMax().Name, "#E4");
            Assert.AreEqual(2, priorityQueue.Count, "#E5");
            Assert.AreEqual("cooking", priorityQueue.ExtractMax().Name, "#E6");
            Assert.AreEqual(1, priorityQueue.Count, "#E7");
        }