public void TestEnqueue()
        {
            var queue = new QueueUsingTwoStacks <int>();

            queue.Enqueue(10);
            Assert.AreEqual(false, queue.IsEmpty);
        }
        public void TestDequeueEmptyQueueThrows()
        {
            var queue = new QueueUsingTwoStacks <int>();
            var ex    = Assert.Throws <InvalidOperationException>(() => queue.Dequeue());

            Assert.AreEqual("Queue is empty", ex.Message);
        }
        public void TestDequeue()
        {
            var queue = new QueueUsingTwoStacks <int>();

            queue.Enqueue(10);
            queue.Enqueue(20);
            queue.Enqueue(30);
            var item = queue.Dequeue();

            Assert.AreEqual(10, item);
            item = queue.Dequeue();
            item = queue.Dequeue();
            Assert.AreEqual(30, item);
            Assert.AreEqual(true, queue.IsEmpty);
        }
예제 #4
0
        public void NormalTest()
        {
            QueueUsingTwoStacks <int> queue = new QueueUsingTwoStacks <int>();

            queue.AppendTail(1);
            Assert.Equal(1, queue.RemoveHead());
            queue.AppendTail(23);
            queue.AppendTail(35);
            queue.AppendTail(-2);
            Assert.Equal(23, queue.RemoveHead());
            queue.AppendTail(9);
            queue.AppendTail(13);
            Assert.Equal(35, queue.RemoveHead());
            Assert.Equal(-2, queue.RemoveHead());
            Assert.Equal(9, queue.RemoveHead());
            Assert.Equal(13, queue.RemoveHead());
            Assert.Throws <InvalidOperationException>(() => queue.RemoveHead());// 队列耗尽
        }
예제 #5
0
 public QueueUsingTwoStacks_should()
 {
     q = new QueueUsingTwoStacks();
 }
예제 #6
0
 public void It_should_perform_like_a_generic_stack()
 {
     var q = new QueueUsingTwoStacks<int>();
     q.Enqueue(5);
     q.Dequeue().Should().Be(5);
 }
예제 #7
0
        public void InvalidInput()
        {
            QueueUsingTwoStacks <object> queue = new QueueUsingTwoStacks <object>();

            Assert.Throws <ArgumentNullException>(() => queue.AppendTail(null));
        }