Example #1
0
        public void CopyTo_CopyToArrayClassWithInvalidIndex_ShouldThrowArgumentOutOfRangeException()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            Array array = new int[2];

            Assert.Catch(typeof(ArgumentOutOfRangeException), () => queue.CopyTo(array, -1));
        }
Example #2
0
        public void CopyTo_CopyToNullArray_ShouldThrowArgumentNullException()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            int[] array = null;

            Assert.Catch(typeof(ArgumentNullException), () => queue.CopyTo(array, 0));
        }
Example #3
0
        public void CopyTo_QueueCopyToArrayClassWithTheSameSize_ArrayEqualQueue()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            Array array = new int[2];

            queue.CopyTo(array, 0);

            CollectionAssert.AreEqual(array, queue);
        }
Example #4
0
        public void CopyTo_QueueCopyToLargerArray_ArrayIsSupersetOfQueue()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            int[] array = new int[3];
            array[2] = 100;

            queue.CopyTo(array, 0);

            CollectionAssert.IsSupersetOf(array, queue);
        }
Example #5
0
        public void CopyTo_QueueCopyToLargerArrayClass_ArrayIsSupersetOfQueue()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            Array array = new int[3];

            array.SetValue(100, 2);

            queue.CopyTo(array, 0);

            CollectionAssert.IsSupersetOf(array, queue);
        }
Example #6
0
        public void CopyTo_QueueSize2CopyToArrayClassSize3Index2_ShouldThrowArgumentException()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            Array array = new int[3];

            try
            {
                queue.CopyTo(array, 2);
            }
            catch (ArgumentException)
            {
                return;
            }

            Assert.Fail();
        }
Example #7
0
        public void CopyTo_CopyToSmallArrayClass_ShouldThrowArgumentException()
        {
            var queue = new MyQueue <int>();

            queue.Enqueue(3);
            queue.Enqueue(-2);
            Array array = new int[1];

            try
            {
                queue.CopyTo(array, 0);
            }
            catch (ArgumentException)
            {
                return;
            }

            Assert.Fail();
        }
Example #8
0
        static void Main(string[] args)
        {
            MyQueue <int> newQueue = new MyQueue <int>();

            newQueue.DoClear   += (obj, arg) => Console.WriteLine("Queue cleared.");
            newQueue.DoDequeue += (obj, arg) => Console.WriteLine("Dequeue elem : {0}", arg.data);
            newQueue.DoEnqueue += (obj, arg) => Console.WriteLine("Enqueue elem : {0}", arg.data);

            newQueue.Enqueue(1);
            newQueue.Enqueue(2);
            newQueue.Enqueue(3);
            newQueue.Enqueue(4);

            Console.WriteLine(newQueue.Contains(2));
            Console.WriteLine(newQueue.Contains(10));

            Console.WriteLine(newQueue.ToString());

            newQueue.Dequeue();
            Console.WriteLine(newQueue.ToString());

            int[] newArray = newQueue.ToArray();

            Console.WriteLine("\nQueue:");
            foreach (int elem in newQueue)
            {
                Console.Write(elem + " ");
            }

            Console.WriteLine();
            Console.WriteLine("\nArray:");
            foreach (int elem in newArray)
            {
                Console.Write(elem + " ");
            }
            Console.WriteLine();

            try
            {
                newQueue.CopyTo(null, 0);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            try
            {
                int[] newArray1 = new int[1];
                newQueue.CopyTo(newArray1, -1);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            try
            {
                int[] newArray1 = new int[1];
                newQueue.CopyTo(newArray1, 0);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }

            newQueue.Clear();

            try
            {
                newQueue.Dequeue();
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }