public void QueueDifferentPrioritiesWorksCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); var expected = new string[] { "add '8", "add '3", "add '5", "add '2", "add '10", "add '1", "add '4", "add '7", "add '9", "add '6" }; var result = new string[10]; //Act queue.Enqueue(1, "add '1"); queue.Enqueue(2, "add '2"); queue.Enqueue(5, "add '3"); queue.Enqueue(1, "add '4"); queue.Enqueue(3, "add '5"); queue.Enqueue(0, "add '6"); queue.Enqueue(1, "add '7"); queue.Enqueue(10, "add '8"); queue.Enqueue(1, "add '9"); queue.Enqueue(2, "add '10"); for (int i = 0; i < result.Length; i++) { result[i] = queue.Dequeue(); } //Assert CollectionAssert.AreEqual(expected, result); }
public void TestEnqueueing() { var q = new StaticPriorityQueue <double, string>(); q.Enqueue(2, "first item"); q.Enqueue(3, "second item"); q.Enqueue(1, "third item"); Assert.Equal(3, q.Count); }
public void QueueCountWorksCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); int count = 4; //Act queue.Enqueue(1, "add '1"); queue.Enqueue(0, "add '2"); queue.Enqueue(0, "add '3"); queue.Enqueue(2, "add '4"); int result = queue.Count; //Assert Assert.AreEqual(count, result); }
public void QueueEnqueueWithPriorityAndValueWorksCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); var expected = new string[] { "add '1", "add '2", "add '3", "add '4" }; //Act queue.Enqueue(1, "add '1"); queue.Enqueue(0, "add '2"); queue.Enqueue(0, "add '3"); queue.Enqueue(2, "add '4"); var result = queue.ToArray(); //Assert CollectionAssert.AreEquivalent(expected, result); }
public void QueueEnqueueNullCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); string expected = null; //Act queue.Enqueue("add '1"); queue.Enqueue("add '2"); queue.Enqueue("add '3"); queue.Enqueue(2, expected); string result = queue.Dequeue(); //Assert Assert.AreEqual(expected, result); }
public void QueuePeekCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); var expected = "add '4"; //Act queue.Enqueue(1, "add '1"); queue.Enqueue(0, "add '2"); queue.Enqueue(0, "add '3"); queue.Enqueue(2, "add '4"); var result = queue.Peek(); //Assert Assert.AreEqual(expected, result); }
public void QueueEnqueueWithNegativePriorityThrowsException() { //Arrange var queue = new StaticPriorityQueue <string>(); //Act queue.Enqueue(-1, "add"); //Assert }
public void QueueContainsByPriorityAndValueCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); //Act queue.Enqueue("add '1"); queue.Enqueue("add '2"); queue.Enqueue("add '3"); queue.Enqueue(2, "add '4"); bool result = queue.Contains(2, "add '4"); queue.Dequeue(); bool next = queue.Contains(2, "add '4"); //Assert Assert.IsFalse(next); Assert.IsTrue(result); }
public void QueueEnqueueWithNullCollectionAndPriorityThrowsException() { //Arrange var queue = new StaticPriorityQueue <string>(); var input = default(string[]); //Act queue.Enqueue(1, input); //Assert }
public void QueueEnqueueValueCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); string expected = "add '4"; string nextExpected = "add '1"; //Act queue.Enqueue("add '1"); queue.Enqueue("add '2"); queue.Enqueue("add '3"); queue.Enqueue(2, "add '4"); string result = queue.Peek(); queue.Dequeue(); string next = queue.Peek(); //Assert Assert.AreEqual(expected, result); Assert.AreEqual(nextExpected, next); }
public void TestDequeueing() { var q = new StaticPriorityQueue <double, string>(); q.Enqueue(2, "first item"); q.Enqueue(3, "second item"); q.Enqueue(1, "third item"); var peek = q.Peek(); Assert.Equal("third item", peek.Value); Assert.Equal(3, q.Count); var deq = q.Dequeue(); Assert.Equal("third item", deq.Value); Assert.Equal(2, q.Count); deq = q.Dequeue(); Assert.Equal("first item", deq.Value); Assert.Equal(1, q.Count); }
public void QueueEnqueueWithPriorityAndIEnumerableWorksCorrectly() { //Arrange var queue = new StaticPriorityQueue <string>(); var input = new string[] { "add '1", "add '2", "add '3", "add '4" }; var expected = new string[] { "add '2", "add '3", "add '4", "add '5", "add '6" }; var expectedElement = "add '1"; var expectedNextElement = "add '2"; //Act queue.Enqueue(2, input); queue.Enqueue(1, "add '5"); queue.Enqueue(1, "add '6"); var element = queue.Peek(); queue.Dequeue(); var nextElement = queue.Peek(); var result = queue.ToArray(); //Assert CollectionAssert.AreEquivalent(expected, result); Assert.AreEqual(expectedElement, element); Assert.AreEqual(expectedNextElement, nextElement); }
public void TestGrowing() { var q = new StaticPriorityQueue <double, string>(); for (int i = 0; i < 32; i++) { q.Enqueue(i, i.ToString()); } Assert.Equal(32, q.Count); for (int i = 0; i < 32; i++) { var deq = q.Dequeue(); Assert.Equal(i.ToString(), deq.Value); } }