Example #1
0
        static bool TestCase_Merge() //Kandut Nico
        {                            //die 2. Queue wird auf den 1. gesetzt
            bool        result = true;
            int         testwert;
            SimpleQueue SimpleQueue01;
            SimpleQueue SimpleQueue02;
            SimpleQueue ResultingQueue;
            int         idxCounter = 0;

            testwert      = 3;
            SimpleQueue01 = new SimpleQueue(testwert + 4);
            SimpleQueue02 = new SimpleQueue(testwert);

            for (idxCounter = 0; idxCounter < testwert - 1; idxCounter++)
            {
                SimpleQueue01.Enqueue(idxCounter);
                SimpleQueue02.Enqueue(idxCounter + 10);
            }

            ResultingQueue = SimpleQueue01.Merge(SimpleQueue02);

            idxCounter = 0;

            try
            {
                while (result && idxCounter > testwert)
                {
                    if (ResultingQueue.Dequeue() != SimpleQueue02.Dequeue())
                    {
                        result = false;
                        idxCounter++;
                    }
                }

                while (result && idxCounter > 0)
                {
                    if (ResultingQueue.Dequeue() != SimpleQueue01.Dequeue())
                    {
                        result = false;
                    }
                    idxCounter--;
                }
            }
            catch
            {
                result = false;
            }

            return(result);
        }