Beispiel #1
0
        public void IsEmptyTest()
        {
            //INTS
            Assert.AreEqual(2, numbers.numberOfElements);
            Assert.IsFalse(numbers.IsEmpty());

            numbers.Dequeue();

            Assert.IsFalse(numbers.IsEmpty());

            numbers.Dequeue();

            Assert.AreEqual(0, numbers.Dequeue());
            Assert.IsTrue(numbers.IsEmpty());

            //Strings
            Assert.AreEqual(2, words.numberOfElements);
            Assert.IsFalse(words.IsEmpty());

            words.Dequeue();

            Assert.IsFalse(words.IsEmpty());

            words.Dequeue();

            Assert.AreEqual(null, words.Dequeue());
            Assert.IsTrue(words.IsEmpty());
        }
Beispiel #2
0
        public void Run()
        {
            Random random = new Random();
            bool   finish = true;

            while (finish)
            {
                Console.WriteLine("- Dequeuing a product...");
                Product product = null;
                lock (queue)
                {
                    //Antes habia un while en vez del if, se añadio el if y el else.
                    if (queue.IsEmpty())
                    {
                        Thread.Sleep(20);
                    }
                    else
                    {
                        product = queue.Dequeue();
                        if (product.ProductID == 1000)
                        {
                            finish = false;
                        }
                    }
                }
                Console.WriteLine("- Dequeued {0}.", product);
                Thread.Sleep(20);
            }
        }