public void PriorityQueue_FindAndReplace2_Normal() { var a = 1; var b = 2; var c = 3; var comparer = new SortInt(); _newPriorityQueue.Add(c, comparer); _newPriorityQueue.Add(b, comparer); _newPriorityQueue.Add(a, comparer); _newPriorityQueue.FindAndReplace(1, 55, (i, i1) => i == i1 ? 0 : -1, CompareInt); Assert.AreEqual(3, _newPriorityQueue.Count); Assert.AreEqual(2, _newPriorityQueue.First()); Assert.AreEqual(55, _newPriorityQueue.Last()); }
public void PriorityQueue_FindAndReplace2_Missing() { var a = 1; var b = 2; var c = 3; var comparer = new SortInt(); _newPriorityQueue.Add(c, comparer); _newPriorityQueue.Add(b, comparer); _newPriorityQueue.Add(a, comparer); Assert.Throws <ArgumentException>(() => _newPriorityQueue.FindAndReplace(77, 55, (i, i1) => i == i1 ? 0 : -1, CompareInt)); Assert.AreEqual(3, _newPriorityQueue.Count); Assert.AreEqual(1, _newPriorityQueue.First()); Assert.AreEqual(3, _newPriorityQueue.Last()); }
public void PriorityQueue_PopLast_Normal() { var a = 1; var b = 2; var c = 3; var comparer = new SortInt(); _newPriorityQueue.Add(a, comparer); _newPriorityQueue.Add(c, comparer); _newPriorityQueue.Add(b, comparer); var item = _newPriorityQueue.PopLast(); Assert.AreEqual(3, item); Assert.AreEqual(2, _newPriorityQueue.Count); Assert.AreEqual(1, _newPriorityQueue.First()); Assert.AreEqual(2, _newPriorityQueue.Last()); }