public void CanInitializeWithFirstELm()
        {
            Node            nodeFirst = new Node("first");
            QueueWithStacks queue     = new QueueWithStacks(nodeFirst);

            Assert.Equal(nodeFirst, queue.Peek());
        }
        static void Main(string[] args)
        {
            Node            nodeFirst  = new Node("first");
            Node            nodeSecond = new Node("second");
            Node            nodeThird  = new Node("third");
            QueueWithStacks queue      = new QueueWithStacks(nodeFirst);

            queue.Enqueue(nodeSecond);
            queue.Enqueue(nodeThird);
            Console.WriteLine("Initial queue:");
            Console.WriteLine(queue.ToString());
            Console.WriteLine();
            Console.WriteLine($"First element: {queue.Dequeue().Value}");
            Console.WriteLine("The queue after dequeue:");
            Console.WriteLine(queue.ToString());
            Console.WriteLine();
            Console.WriteLine($"Second element: {queue.Dequeue().Value}");
            Console.WriteLine("The queue after dequeue:");
            Console.WriteLine(queue.ToString());
            Console.WriteLine();
            Console.WriteLine($"Second element: {queue.Dequeue().Value}");
            Console.WriteLine("The queue after dequeue:");
            Console.WriteLine(queue.ToString());
            Console.ReadLine();
        }
        public void CanDequeueOneElm()
        {
            Node            nodeFirst   = new Node("first");
            QueueWithStacks queue       = new QueueWithStacks(nodeFirst);
            Node            firstResult = queue.Dequeue();

            Assert.Equal(nodeFirst, firstResult);
        }
        public void GetExceptionNullPointerRetrievingEmptyQueue()
        {
            Node            nodeFirst = new Node("first");
            QueueWithStacks queue     = new QueueWithStacks(nodeFirst);

            queue.Dequeue();
            Assert.Throws <NullReferenceException>(() => queue.Dequeue());
        }
        public void CanEnqueueSecondElm()
        {
            Node            nodeFirst  = new Node("first");
            Node            nodeSecond = new Node("second");
            QueueWithStacks queue      = new QueueWithStacks(nodeFirst);

            queue.Enqueue(nodeSecond);
            Assert.Equal(nodeFirst, queue.Peek());
            Assert.Equal(2, queue.Length);
        }
        public void should_not_be_empty_after_a_value_is_added()
        {
            // Arrange
            var queue = new QueueWithStacks <int>();

            queue.Add(42);

            // Assert
            queue.IsEmpty().Should().BeFalse();
        }
Example #7
0
        public void Dequeue_from_empty_stack()
        {
            QueueWithStacks <int> queue = new QueueWithStacks <int>();

            Assert.Throws <InvalidOperationException>(() =>
            {
                //Act
                return(queue.Dequeue());
            });
        }
Example #8
0
        public void Dequeue_from_stack()
        {
            QueueWithStacks <int> queue = new QueueWithStacks <int>();

            queue.Enqueue(1);

            int result = queue.Dequeue();

            Assert.Equal(1, result);
        }
        public void NodesRemoved(object input)
        {
            Node node1 = new Node(10);
            Node node2 = new Node(input);

            QueueWithStacks queue = new QueueWithStacks(node2);

            queue.Enqueue(node1);

            Assert.Equal(input, queue.Dequeue().Value);
        }
Example #10
0
        public void IsEmpty_returns_true_if_stack_is_empty()
        {
            // Arrange
            QueueWithStacks <int> queue = new QueueWithStacks <int>();

            // Act
            bool result = queue.IsEmpty();

            // Assert
            Assert.True(result);
        }
        public void should_peek_fifo()
        {
            // Arrange
            var queue = new QueueWithStacks <int>();

            queue.Add(42);
            queue.Add(43);

            // Assert
            queue.Peek().Should().Be(42);
        }
Example #12
0
        public void Can_Enequeue_Multiple_Nodes_And_Dequeue_What_Would_Be_The_Front_Nodes_Value()
        {
            QueueWithStacks <int> testQueueStack = new QueueWithStacks <int>();

            testQueueStack.Enqueue(1);
            testQueueStack.Enqueue(2);
            testQueueStack.Enqueue(3);
            testQueueStack.Enqueue(4);
            testQueueStack.Enqueue(5);
            int result = testQueueStack.Dequeue();

            Assert.Equal(1, result);
        }
        public void NodesAdded(object input)
        {
            Node node1 = new Node(10);
            Node node2 = new Node(20);
            Node node3 = new Node(input);

            QueueWithStacks queue = new QueueWithStacks(node1);

            queue.Enqueue(node2);
            queue.Enqueue(node3);

            Assert.Equal(input, queue.stack1.Top.Value);
        }
        public void CanDequeueTwoElm()
        {
            Node            nodeFirst  = new Node("first");
            Node            nodeSecond = new Node("second");
            QueueWithStacks queue      = new QueueWithStacks(nodeFirst);

            queue.Enqueue(nodeSecond);
            Node firstResult  = queue.Dequeue();
            Node secondResult = queue.Dequeue();

            Assert.Equal(nodeFirst, firstResult);
            Assert.Equal(nodeSecond, secondResult);
        }
Example #15
0
        public void Can_Enequeue_Multiple_Nodes()
        {
            QueueWithStacks <int> testQueueStack = new QueueWithStacks <int>();

            testQueueStack.Enqueue(1);
            testQueueStack.Enqueue(2);
            testQueueStack.Enqueue(3);
            testQueueStack.Enqueue(4);
            testQueueStack.Enqueue(5);
            int result = testQueueStack.Stack1.Peek();

            Assert.Equal(5, result);
        }
Example #16
0
        public void The_Stack_Methods_Are_Working_Inside_The_QueueWithStack_Object()
        {
            QueueWithStacks <int> testQueueStack = new QueueWithStacks <int>();

            testQueueStack.Stack1.Push(1);
            testQueueStack.Stack1.Push(2);
            testQueueStack.Stack1.Push(3);
            testQueueStack.Stack1.Push(4);
            testQueueStack.Stack1.Push(5);
            int result = testQueueStack.Stack1.Pop();

            Assert.Equal(5, result);
        }
        public void should_be_empty_after_last_value_is_removed()
        {
            // Arrange
            var queue = new QueueWithStacks <int>();

            queue.Add(42);

            // Act
            queue.Remove();

            // Assert
            queue.IsEmpty().Should().BeTrue();
        }
Example #18
0
        public void Peek_bottom_of_queue()
        {
            // Arrange
            QueueWithStacks <int> queue = new QueueWithStacks <int>();

            queue.Enqueue(1);
            queue.Enqueue(2);
            queue.Enqueue(3);
            queue.Enqueue(4);
            queue.Enqueue(5);

            // Assert
            Assert.Equal(1, queue.Peek());
        }
        public static void QueueWithStacks()
        {
            Node node1 = new Node(10);
            Node node2 = new Node(20);
            Node node3 = new Node(30);

            QueueWithStacks queue = new QueueWithStacks(node1);

            queue.Enqueue(node2);
            queue.Enqueue(node3);

            Console.WriteLine($"The front node value: {queue.Front.Value}");

            queue.Dequeue();
            Console.WriteLine($"The value of the removed node : {queue.Front.Value}");
        }
Example #20
0
        static void Main(string[] args)
        {
            QueueWithStacks stack = new QueueWithStacks();
            int             data;

            stack.Enqueue(1);
            stack.Enqueue(2);
            stack.Enqueue(3);
            data = stack.Dequeue();
            stack.Enqueue(4);
            stack.Enqueue(5);
            data = stack.Dequeue();
            stack.Enqueue(6);
            data = stack.Dequeue();
            data = stack.Dequeue();
            stack.Enqueue(7);
            stack.Enqueue(8);
            stack.Enqueue(9);
            data = stack.Dequeue();

            Console.Read();
        }
Example #21
0
        public void Throw_An_Exception_When_Dequeue_Is_Called_On_Empty_QueueWithStack_Object()
        {
            QueueWithStacks <int> testQueueStack = new QueueWithStacks <int>();

            Assert.Throws <NullReferenceException>(() => testQueueStack.Dequeue());
        }