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()); }
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); } }