Ejemplo n.º 1
0
        public void QueueWorks()
        {
            InsertionQueue<int> queue = new InsertionQueue<int>();

            for (int i = 0; i < 100; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 100; ++i) {
                Assert.AreEqual(i, queue.Dequeue(), "The queue order is wrong");
            }

            for (int i = 0; i < 50; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i) {
                Assert.AreEqual(i, queue.Dequeue(), "The queue order is wrong");
            }

            for (int i = 50; i < 100; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 10; i < 100; ++i) {
                Assert.AreEqual(i, queue.Dequeue(), "The queue order is wrong");
            }
        }
Ejemplo n.º 2
0
        public void ShouldThrowExceptionWhenDequeuingContainerThatBecomesEmpty()
        {
            var queue = new InsertionQueue <int>();

            queue.Enqueue(1);
            queue.Dequeue();

            Assert.Throws <InvalidOperationException>(() => queue.Dequeue());
        }
Ejemplo n.º 3
0
 private IEnumerable <int> OrderOfElementsIn(InsertionQueue <int> queue)
 {
     while (true)
     {
         if (queue.Count == 0)
         {
             yield break;
         }
         yield return(queue.Dequeue());
     }
 }
Ejemplo n.º 4
0
        public void InsertWorks()
        {
            InsertionQueue <int> queue = new InsertionQueue <int>();

            for (int j = 0; j < 2; ++j)
            {
                for (int i = 0; i < 10; ++i)
                {
                    queue.Enqueue(i);
                }

                queue.Insert(5, 99);

                for (int i = 0; i < 5; ++i)
                {
                    Assert.Equal(i, queue.Dequeue());
                }

                Assert.Equal(99, queue.Dequeue());

                for (int i = 5; i < 10; ++i)
                {
                    Assert.Equal(i, queue.Dequeue());
                }
            }

            for (int i = 0; i < 5; ++i)
            {
                queue.Enqueue(i);
                queue.Dequeue();
            }

            for (int i = 0; i < 20; ++i)
            {
                queue.Enqueue(i);
            }

            queue.Insert(5, 99);

            for (int i = 0; i < 5; ++i)
            {
                Assert.Equal(i, queue.Dequeue());
            }

            Assert.Equal(99, queue.Dequeue());

            for (int i = 5; i < 20; ++i)
            {
                Assert.Equal(i, queue.Dequeue());
            }
        }
Ejemplo n.º 5
0
        public void Dequeue_ThrowsExceptionWhenEmpty()
        {
            InsertionQueue<int> queue = new InsertionQueue<int>();

            for (int i = 0; i < 10; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }

            Assert.Throws<InvalidOperationException>(() => queue.Dequeue());
        }
Ejemplo n.º 6
0
        public void Dequeue_ThrowsExceptionWhenEmpty()
        {
            InsertionQueue<int> queue = new InsertionQueue<int>();

            for (int i = 0; i < 10; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i) {
                Assert.AreEqual(i, queue.Dequeue(), "The queue order is wrong");
            }

            queue.Dequeue();
        }
Ejemplo n.º 7
0
        public void Dequeue_ThrowsExceptionWhenEmpty()
        {
            InsertionQueue <int> queue = new InsertionQueue <int>();

            for (int i = 0; i < 10; ++i)
            {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i)
            {
                Assert.Equal(i, queue.Dequeue());
            }

            Assert.Throws <InvalidOperationException>(() => queue.Dequeue());
        }
Ejemplo n.º 8
0
        public void Dequeue_ThrowsExceptionWhenEmpty()
        {
            InsertionQueue <int> queue = new InsertionQueue <int>();

            for (int i = 0; i < 10; ++i)
            {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i)
            {
                Assert.AreEqual(i, queue.Dequeue(), "The queue order is wrong");
            }

            queue.Dequeue();
        }
Ejemplo n.º 9
0
        public void InsertWorks()
        {
            InsertionQueue<int> queue = new InsertionQueue<int>();

            for(int j = 0; j < 2; ++j) {
                for (int i = 0; i < 10; ++i) {
                    queue.Enqueue(i);
                }

                queue.Insert(5, 99);

                for (int i = 0; i < 5; ++i) {
                    Assert.Equal(i, queue.Dequeue());
                }

                Assert.Equal(99, queue.Dequeue());

                for (int i = 5; i < 10; ++i) {
                    Assert.Equal(i, queue.Dequeue());
                }
            }

            for (int i = 0; i < 5; ++i) {
                queue.Enqueue(i);
                queue.Dequeue();
            }

            for (int i = 0; i < 20; ++i) {
                queue.Enqueue(i);
            }

            queue.Insert(5, 99);

            for (int i = 0; i < 5; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }

            Assert.Equal(99, queue.Dequeue());

            for (int i = 5; i < 20; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }
        }
Ejemplo n.º 10
0
 private IEnumerable<int> OrderOfElementsIn(InsertionQueue<int> queue)
 {
     while (true)
     {
         if (queue.Count == 0)
         {
             yield break;
         }
         yield return queue.Dequeue();
     }
 }
Ejemplo n.º 11
0
        public void QueueWorks()
        {
            InsertionQueue<int> queue = new InsertionQueue<int>();

            for (int i = 0; i < 100; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 100; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }

            for (int i = 0; i < 50; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 0; i < 10; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }

            for (int i = 50; i < 100; ++i) {
                queue.Enqueue(i);
            }

            for (int i = 10; i < 100; ++i) {
                Assert.Equal(i, queue.Dequeue());
            }
        }