public void IsEmpty(int[] data, bool expected)
        {
            var queue = new CrackingTheCodingInterview.DataStructures.StacksAndQueues.MyQueue <int>();

            foreach (var item in data)
            {
                queue.Enqueue(item);
            }

            Assert.AreEqual(expected, queue.IsEmpty);
        }
        public void Peek(int[] data, int expected)
        {
            var queue = new CrackingTheCodingInterview.DataStructures.StacksAndQueues.MyQueue <int>();

            foreach (var item in data)
            {
                queue.Enqueue(item);
            }

            var actual = queue.Peek();

            Assert.AreEqual(data.Length, queue.Count);
            Assert.AreEqual(expected, actual);
        }
        public void Add(int[] data, int expectedCount)
        {
            var queue = new CrackingTheCodingInterview.DataStructures.StacksAndQueues.MyQueue <int>();

            foreach (var item in data)
            {
                queue.Enqueue(item);
            }

            Assert.AreEqual(expectedCount, queue.Count);
            for (int i = 0; i < data.Length; i++)
            {
                Assert.AreEqual(data[i], queue.Dequeue());
            }
        }
        public void Pop(int[] data, int expectedCount)
        {
            var queue = new CrackingTheCodingInterview.DataStructures.StacksAndQueues.MyQueue <int>();

            foreach (var item in data)
            {
                queue.Enqueue(item);
            }

            Assert.AreEqual(expectedCount, queue.Count);
            queue.Dequeue();
            queue.Dequeue();
            queue.Dequeue();

            Assert.AreEqual(expectedCount - 3, queue.Count);
        }
        public void Pop_Exception()
        {
            var queue = new CrackingTheCodingInterview.DataStructures.StacksAndQueues.MyQueue <int>();

            queue.Dequeue();
        }