public void TestDuplication() { var numbers = new [] { -1, -1, -1, 1, 1, 2, 3, 9, 20, 15, 11 }.ToList(); var queue = new PriorityQueue<int>(1, Comparer<int>.Create((x, y) => x - y)); numbers.ForEach(queue.Offer); Assert.AreEqual(-1, queue.ToArray()[0]); queue = new PriorityQueue<int>(3, Comparer<int>.Create((x, y) => x - y)); numbers.ForEach(queue.Offer); queue.ToList().ForEach(x => Assert.AreEqual(-1, x)); queue = new PriorityQueue<int>(4, Comparer<int>.Create((x, y) => x - y)); numbers.ForEach(queue.Offer); Assert.AreEqual(1, queue.OrderBy(x => x).Last()); queue = new PriorityQueue<int>(100, Comparer<int>.Create((x, y) => x - y)); numbers.ForEach(queue.Offer); Assert.AreEqual(20, queue.OrderBy(x => x).Last()); }