protected internal static void RunRelaxingTests(BinaryHeapPriorityQueue <string> queue) { queue.Add("a", 1.0); NUnit.Framework.Assert.AreEqual("Added a:1", "[a=1.0]", queue.ToString()); queue.Add("b", 2.0); NUnit.Framework.Assert.AreEqual("Added b:2", "[b=2.0, a=1.0]", queue.ToString()); queue.Add("c", 1.5); NUnit.Framework.Assert.AreEqual("Added c:1.5", "[b=2.0, c=1.5, a=1.0]", queue.ToString()); queue.RelaxPriority("a", 3.0); NUnit.Framework.Assert.AreEqual("Increased a to 3", "[a=3.0, b=2.0, c=1.5]", queue.ToString()); queue.DecreasePriority("b", 0.0); NUnit.Framework.Assert.AreEqual("Decreased b to 0", "[a=3.0, c=1.5, b=0.0]", queue.ToString()); NUnit.Framework.Assert.AreEqual("removeFirst()", "a", queue.RemoveFirst()); NUnit.Framework.Assert.AreEqual("queue", "[c=1.5, b=0.0]", queue.ToString()); NUnit.Framework.Assert.AreEqual("removeFirst()", "c", queue.RemoveFirst()); NUnit.Framework.Assert.AreEqual("queue", "[b=0.0]", queue.ToString()); NUnit.Framework.Assert.AreEqual("removeFirst()", "b", queue.RemoveFirst()); NUnit.Framework.Assert.IsTrue(queue.IsEmpty()); }
public virtual IList <E> ToSortedList() { IList <E> sortedList = new List <E>(Count); BinaryHeapPriorityQueue <E> queue = this.DeepCopy(); while (!queue.IsEmpty()) { sortedList.Add(queue.RemoveFirst()); } return(sortedList); }