fix: Fixed PriorityQueue IndexOutOfRange exception when an inner queue becomes depleted

This commit is contained in:
Chris Cameron
2019-05-02 10:23:53 -04:00
parent 736c2aee33
commit d7bfb07c2c
3 changed files with 52 additions and 20 deletions

View File

@@ -168,6 +168,29 @@ namespace ICD.Common.Utils.Tests.Collections
Assert.AreEqual(0, queue.Count);
}
[Test]
public void TryDequeueTest()
{
PriorityQueue<int> queue = new PriorityQueue<int>();
queue.Enqueue(10, 1);
queue.Enqueue(20, 2);
queue.Enqueue(30, 3);
int output;
Assert.IsTrue(queue.TryDequeue(out output));
Assert.AreEqual(10, output);
Assert.IsTrue(queue.TryDequeue(out output));
Assert.AreEqual(20, output);
Assert.IsTrue(queue.TryDequeue(out output));
Assert.AreEqual(30, output);
Assert.IsFalse(queue.TryDequeue(out output));
Assert.AreEqual(0, output);
}
[Test]
public void GetEnumeratorTest()
{