//LD "Dequeue Cat" method internal AnimalCat dequeueCat() { AnimalCat lastCat = CatList.Last.Value; CatList.RemoveLast(); return(lastCat); }
//LD "Dequeue" method that return the oldest between all animals in the shelter internal Animal dequeueOldest() { AnimalDog lastDog = DogList.Last.Value; AnimalCat lastCat = CatList.Last.Value; if (lastDog.arrivalTime > lastCat.arrivalTime) { return(dequeueDog()); } return(dequeueCat()); }
public static void Run() { ManageQueues mqInstance = new ManageQueues(); //LD create few animals and the enqueue AnimalDog dogOne = new AnimalDog("dogOne"); mqInstance.enqueueAnimal(dogOne); AnimalCat catOne = new AnimalCat("catOne"); mqInstance.enqueueAnimal(catOne); AnimalDog dogTwo = new AnimalDog("dogTwo"); mqInstance.enqueueAnimal(dogTwo); AnimalDog dogThree = new AnimalDog("dogThree"); mqInstance.enqueueAnimal(dogThree); AnimalCat catTwo = new AnimalCat("catTwo"); mqInstance.enqueueAnimal(catTwo); AnimalDog dogFour = new AnimalDog("dogFour"); mqInstance.enqueueAnimal(dogFour); AnimalCat catThree = new AnimalCat("catThree"); mqInstance.enqueueAnimal(catThree); //LD dequeue process //LD dequeue dog (dogFour) mqInstance.dequeueDog(); //LD dequeue cat (catThree) mqInstance.dequeueCat(); //LD dequeue oldest (catTwo) mqInstance.dequeueOldest(); //LD dequeue oldest (dogThree) mqInstance.dequeueOldest(); }