Esempio n. 1
0
    static void Main()
    {
        // TODO: Epxlain the tests
        Console.WriteLine("Testing custom queue class.");
        Console.WriteLine("Class features:");
        Console.WriteLine(" - linked list implementation");
        Console.WriteLine(" - methods Enqueue, Dequeue, Peek, Contains and property Count.");
        Console.WriteLine();
        Console.WriteLine("Creating a LinkedQueue.");
        LinkedQueue <int> queue = new LinkedQueue <int>();

        Console.WriteLine("DONE!" + Environment.NewLine);
        Console.WriteLine("Enqueuing numbers from 1 to 10");
        for (int i = 1; i <= 10; i++)
        {
            queue.Enqueue(i);
        }
        Console.WriteLine("DONE!" + Environment.NewLine);
        Console.WriteLine("Printing queue using custom enumerator:");
        Print(queue);
        Console.WriteLine("Peeking: " + queue.Peek());
        Console.WriteLine();
        Console.WriteLine("Dequeuing 7 elements");
        for (int i = 0; i < 7; i++)
        {
            queue.Dequeue();
        }
        Console.Write("Press any key to continue testing.");
        Console.ReadKey();
        Console.WriteLine();
        Console.WriteLine("Printing queue:");
        Print(queue);
        Console.WriteLine("Enqueuing numbers from 1 to 10");
        for (int i = 1; i <= 10; i++)
        {
            queue.Enqueue(i);
        }
        Console.WriteLine("Peeking: " + queue.Peek());
        Console.WriteLine();
        Console.WriteLine("Printing queue:");
        Print(queue);
        Console.WriteLine("Cheking if queue contains the number 5: " + queue.Contains(5));
        Console.WriteLine("Cheking if queue contains the number -15: " + queue.Contains(-15));
        Console.WriteLine();
        Console.WriteLine("Clearing the queue");
        queue.Clear();
        Console.WriteLine("Cleared");
        Console.WriteLine();
        Console.WriteLine("Printing queue:");
        Print(queue);
        try
        {
            Console.WriteLine("Peeking: ");
            queue.Peek();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
Esempio n. 2
0
 static void Main()
 {
     // TODO: Epxlain the tests
     Console.WriteLine("Testing custom queue class.");
     Console.WriteLine("Class features:");
     Console.WriteLine(" - linked list implementation");
     Console.WriteLine(" - methods Enqueue, Dequeue, Peek, Contains and property Count.");
     Console.WriteLine();
     Console.WriteLine("Creating a LinkedQueue.");
     LinkedQueue<int> queue = new LinkedQueue<int>();
     Console.WriteLine("DONE!" + Environment.NewLine);
     Console.WriteLine("Enqueuing numbers from 1 to 10");
     for (int i = 1; i <= 10; i++)
     {
         queue.Enqueue(i);
     }
     Console.WriteLine("DONE!" + Environment.NewLine);
     Console.WriteLine("Printing queue using custom enumerator:");
     Print(queue);
     Console.WriteLine("Peeking: " + queue.Peek());
     Console.WriteLine();
     Console.WriteLine("Dequeuing 7 elements");
     for (int i = 0; i < 7; i++)
     {
         queue.Dequeue();
     }
     Console.Write("Press any key to continue testing.");
     Console.ReadKey();
     Console.WriteLine();
     Console.WriteLine("Printing queue:");
     Print(queue);
     Console.WriteLine("Enqueuing numbers from 1 to 10");
     for (int i = 1; i <= 10; i++)
     {
         queue.Enqueue(i);
     }
     Console.WriteLine("Peeking: " + queue.Peek());
     Console.WriteLine();
     Console.WriteLine("Printing queue:");
     Print(queue);
     Console.WriteLine("Cheking if queue contains the number 5: " + queue.Contains(5));
     Console.WriteLine("Cheking if queue contains the number -15: " + queue.Contains(-15));
     Console.WriteLine();
     Console.WriteLine("Clearing the queue");
     queue.Clear();
     Console.WriteLine("Cleared");
     Console.WriteLine();
     Console.WriteLine("Printing queue:");
     Print(queue);
     try
     {
         Console.WriteLine("Peeking: ");
         queue.Peek();
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
    static void Main()
    {
        LinkedQueue<string> names = new LinkedQueue<string>();

        names.Enqueue("Misho");
        names.Enqueue("Birata");

        Console.WriteLine(names.Dequeue());
        Console.WriteLine(names.Peek());
        Console.WriteLine(names.Count());
        Console.WriteLine(names.Contains("Misho"));
        Console.WriteLine(names.Contains("Birata"));
    }
Esempio n. 4
0
        /*
         * Implement the ADT queue as dynamic linked list. 
         * Use generics (LinkedQueue<T>) to allow storing different data types in the queue.
        */

        static void Main(string[] args)
        {
            ILinkedQueue<int> sample = new LinkedQueue<int>();

            sample.Enqueue(1);
            sample.Enqueue(2);
            sample.Enqueue(3);

            int[] sampleAsArray = sample.ToArray();

            Console.WriteLine("Queue as array:");
            for (int index = 0; index < sampleAsArray.Length; index++)
            {
                Console.WriteLine(sampleAsArray[index]);
            }

            Console.WriteLine("Dequeue + Peek");
            Console.WriteLine(sample.Dequeue() + " Dequeue");
            Console.WriteLine(sample.Dequeue() + " Dequeue");
            Console.WriteLine(sample.Peek() + " Peek");
            Console.WriteLine(sample.Dequeue() + " Dequeue");

            sample.Enqueue(4);
            Console.WriteLine("Does Contains 4? " + sample.Contains(4));

            sample.Enqueue(5);
            sample.Enqueue(6);

            sample.Clear();
            Console.WriteLine("Count after clear: " + sample.Count);
            // Console.WriteLine(sample.Dequeue()); // exception expected


        }
Esempio n. 5
0
        static void Main()
        {
            try
            {
                LinkedQueue<string> queue = new LinkedQueue<string>();
                queue.Enqueue("Message One");
                queue.Enqueue("Message Two");
                queue.Enqueue("Message Three");
                queue.Enqueue("Message Four");

                Console.WriteLine(queue.Peek());
                Console.WriteLine(queue.Contains("Message Three"));

                var array = queue.ToArray();
                Console.WriteLine(string.Join(", ", array));

                while (queue.Count > 0)
                {
                    string message = queue.Dequeue();
                    Console.WriteLine(message);
                }

                queue.Dequeue();
            }
            catch (IndexOutOfRangeException iex)
            {
                Console.WriteLine(iex.TargetSite + " -> " + iex.Message);
            }
            catch (NullReferenceException nex)
            {
                Console.WriteLine(nex.TargetSite + " -> " + nex.Message);
            }
        }
Esempio n. 6
0
        public void CheckIfContainedBeforeAndAfterDequeuing()
        {
            var queue = new LinkedQueue <int>();

            int itemCount = 10000;

            for (int i = 0; i < itemCount; i++)
            {
                if (queue.Contains(i))
                {
                    Assert.Fail();
                }
                queue.Enqueue(i);
                if (!queue.Contains(i))
                {
                    Assert.Fail();
                }
            }

            int lastItem = int.MinValue;

            for (int i = 0; i < itemCount; i++)
            {
                var first = queue.Peek();
                if (!queue.Contains(i))
                {
                    Assert.Fail();
                }
                var dequeued = queue.Dequeue();
                if (dequeued != first)
                {
                    Assert.Fail();
                }
                if (lastItem > dequeued)
                {
                    Assert.Fail();
                }
                if (queue.Contains(i))
                {
                    Assert.Fail();
                }
                lastItem = first;
            }

            Assert.IsTrue(queue.Count == 0);
        }
Esempio n. 7
0
        public void When_creating_a_queue_with_existing_items()
        {
            ILinkedQueue <int> queue = new LinkedQueue <int>(new[] { 1, 2, 3 });

            queue.Contains(2).ShouldBeTrue();

            queue.Enqueue(2);

            queue.ShouldBe(new[] { 1, 2, 3, 2 });
        }
Esempio n. 8
0
        private static void Main()
        {
            LinkedQueue <int> testQueue = new LinkedQueue <int>();

            testQueue.Enqueue(5);
            testQueue.Enqueue(7);
            testQueue.Enqueue(15);
            testQueue.Enqueue(23);
            testQueue.Enqueue(11);
            testQueue.Enqueue(455);
            testQueue.Enqueue(5855);
            testQueue.Enqueue(5);
            Console.WriteLine("Enqueued: " + string.Join(", ", testQueue));

            Console.WriteLine(new string('-', 48));
            testQueue.Dequeue();
            Console.WriteLine("Dequeued: " + string.Join(", ", testQueue));

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Peek: " + testQueue.Peek());

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Count: " + testQueue.Count);

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Contains: " + testQueue.Contains(455));
            Console.WriteLine("Contains: " + testQueue.Contains(455));

            int[] testArray = new int[testQueue.Count];
            testArray = testQueue.ToArray();

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("To array: " + string.Join(", ", testArray));

            Console.WriteLine(new string('-', 48));
            testQueue.Clear();
            Console.WriteLine("Cleared: " + string.Join(", ", testQueue));
            Console.WriteLine("Cleared count: " + testQueue.Count);

            Console.WriteLine(new string('-', 48));
        }
Esempio n. 9
0
        private static void Main()
        {
            LinkedQueue<int> testQueue = new LinkedQueue<int>();

            testQueue.Enqueue(5);
            testQueue.Enqueue(7);
            testQueue.Enqueue(15);
            testQueue.Enqueue(23);
            testQueue.Enqueue(11);
            testQueue.Enqueue(455);
            testQueue.Enqueue(5855);
            testQueue.Enqueue(5);
            Console.WriteLine("Enqueued: " + string.Join(", ", testQueue));

            Console.WriteLine(new string('-', 48));
            testQueue.Dequeue();
            Console.WriteLine("Dequeued: " + string.Join(", ", testQueue));

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Peek: " + testQueue.Peek());

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Count: " + testQueue.Count);

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("Contains: " + testQueue.Contains(455));
            Console.WriteLine("Contains: " + testQueue.Contains(455));

            int[] testArray = new int[testQueue.Count];
            testArray = testQueue.ToArray();

            Console.WriteLine(new string('-', 48));
            Console.WriteLine("To array: " + string.Join(", ", testArray));

            Console.WriteLine(new string('-', 48));
            testQueue.Clear();
            Console.WriteLine("Cleared: " + string.Join(", ", testQueue));
            Console.WriteLine("Cleared count: " + testQueue.Count);

            Console.WriteLine(new string('-', 48));
        }
 public static void Main()
 {
     // Create LinkedQueue and test its methods
     QueueItem<string> element = new QueueItem<string>("a");
     LinkedQueue<string> queue = new LinkedQueue<string>(element);
     queue.Enqueue(new QueueItem<string>("b"));
     queue.Enqueue(new QueueItem<string>("c"));
     queue.Enqueue(new QueueItem<string>("d"));
     queue.Enqueue(new QueueItem<string>("e"));
     QueueItem<string> firstElement = queue.Dequeue();
     QueueItem<string> newFirstElement = queue.Peek();
     int count = queue.Count();
     bool hasElement = queue.Contains(new QueueItem<string>("z"));
 }
Esempio n. 11
0
        public void When_enqueueing_items()
        {
            ILinkedQueue <int> queue = new LinkedQueue <int>();

            queue.Enqueue(1);

            queue.IsReadOnly.ShouldBeFalse();
            queue.Count.ShouldBe(1);

            queue.TryPeek(out int peeked).ShouldBeTrue();
            peeked.ShouldBe(1);

            queue.Contains(1).ShouldBeTrue();

            queue.TryDequeue(out int item).ShouldBeTrue();
            item.ShouldBe(1);

            queue.TryDequeue(out int anotherItem).ShouldBeFalse();
            anotherItem.ShouldBe(0);
        }
Esempio n. 12
0
        public void When_creating_an_empty_queue()
        {
            // ReSharper disable once CollectionNeverUpdated.Local
            ILinkedQueue <int> queue = new LinkedQueue <int>();

            queue.IsReadOnly.ShouldBeFalse();
            queue.Count.ShouldBe(0);

            int result;

            queue.TryPeek(out result).ShouldBeFalse();
            result.ShouldBe(0);

            queue.TryDequeue(out result).ShouldBeFalse();
            result.ShouldBe(0);

            queue.Contains(1).ShouldBe(false);
            queue.Remove(1).ShouldBeFalse();

            Should.Throw <InvalidOperationException>(() => queue.RemoveAt(1))
            .Message.ShouldBe("Sequence contains no elements");
        }