Exemplo n.º 1
0
            //LD "Dequeue Cat" method
            internal AnimalCat dequeueCat()
            {
                AnimalCat lastCat = CatList.Last.Value;

                CatList.RemoveLast();
                return(lastCat);
            }
Exemplo n.º 2
0
            //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());
            }
Exemplo n.º 3
0
        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();
        }