Example #1
0
        public void QueuePeekWithNoItemsInQueueThrowsException()
        {
            //Arrange
            var queue = new StaticPriorityQueue <string>();

            //Act
            queue.Peek();
            //Assert
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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 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);
        }