Example #1
0
        static void FIFOAnimalShelter()
        {
            //Makes and fills the Animal Shelter with Animals
            AnimalShelter myShelter = new AnimalShelter(new Animal("cat"));

            myShelter.Enqueue(new Animal("cat"));
            myShelter.Enqueue(new Animal("cat"));
            myShelter.Enqueue(new Animal("cat"));
            myShelter.Enqueue(new Animal("cat"));

            //Prints out on console what the shelter looks like
            Console.WriteLine("This is what the shelter looks like");
            myShelter.Print();
            Console.ReadLine();

            //Takes out the first dog in queue
            Console.WriteLine("There is a person here to adopt a dog");
            Console.WriteLine($"Bye bye {myShelter.Dequeue("dog").Value}");
            Console.ReadLine();

            //Prints out on console what the shelter looks like
            Console.WriteLine("This is what the shelter looks like now");
            myShelter.Print();
            Console.ReadLine();
        }
        public void CheckTempGetReset()
        {
            Animal dogOne = new Animal("dog");

            dogOne.Name = "ron";
            Animal dogTwo = new Animal("dog");

            dogTwo.Name = "demi";
            Animal dogThree = new Animal("dog");

            dogThree.Name = "sparky";
            Animal catOne = new Animal("cat");

            catOne.Name = "fluffy";
            Animal catTwo = new Animal("cat");

            catTwo.Name = "mike";

            AnimalShelter myShelter = new AnimalShelter();

            myShelter.Enqueue(dogOne);
            myShelter.Enqueue(dogTwo);
            myShelter.Enqueue(catOne);
            myShelter.Enqueue(catTwo);
            myShelter.Enqueue(dogThree);

            myShelter.Dequeue("cat");
            Assert.Equal(2, myShelter.TempHoldStack.Count);     //make sure the two first items(dogs) are added to temp stack
            Assert.Equal("ron", myShelter.Dequeue("dog").Name); //make sure the first dog ron is returned
            Assert.Empty(myShelter.TempHoldStack);              //make sure temp stack is empty becuase it empties into outbound stack when dequeue is called.
        }
        public void CanDequeueTheSpecifiedTypeFromTheShelter()
        {
            // Arrange
            AnimalShelter shelter = new AnimalShelter();

            for (int i = 0; i < 8; i++)
            {
                if (i % 2 == 0)
                {
                    shelter.Enqueue(new Cat());
                }
                else
                {
                    shelter.Enqueue(new Dog());
                }
            }

            // Act
            Animal testNode = shelter.Dequeue("dog");
            var    expected = new Dog();

            // Assert

            Assert.Equal(expected.GetType(), testNode.GetType());
        }
 public void TestShelterCounter()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Equal(2, shelter.Total);
 }
 public void TestDequeueMatch()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Equal("CAT", shelter.Dequeue("cat").Value);
 }
Example #6
0
        public void AnimalShelterTest()
        {
            AnimalShelter s = new AnimalShelter();

            s.Enqueue(newDog("toto"));
            s.Enqueue(newDog("barney"));
            s.Enqueue(newCat("boris"));
            s.Enqueue(newCat("hans"));

            var a = s.DequeueAny();

            Assert.AreEqual(a.Name, "toto");

            a = s.DequeueCat();
            Assert.AreEqual(a.Name, "boris");

            a = s.DequeueAny();
            Assert.AreEqual(a.Name, "barney");

            Assert.ThrowsException <InvalidOperationException>(() => s.DequeueDog());

            a = s.DequeueAny();
            Assert.AreEqual(a.Name, "hans");

            Assert.ThrowsException <InvalidOperationException>(() => s.DequeueAny());
        }
 public void TestDequeueInvalidAnimal()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Null(shelter.Dequeue("ferret").Value);
 }
        public void CanDequeueProperly()
        {
            Cat testCat1 = new Cat("Cat 1");
            Cat testCat2 = new Cat("Cat 2");
            Cat testCat3 = new Cat("Cat 3");
            Cat testCat4 = new Cat("Cat 4");
            Dog testDog1 = new Dog("Dog 1");
            Dog testDog2 = new Dog("Dog 2");
            Dog testDog3 = new Dog("Dog 3");

            AnimalShelter testShelter = new AnimalShelter(testCat1);

            testShelter.Enqueue(testCat2);
            testShelter.Enqueue(testCat3);
            testShelter.Enqueue(testDog1);
            testShelter.Enqueue(testCat4);
            testShelter.Enqueue(testDog2);

            Assert.Equal(testShelter.Front.GetType().Name.ToLower(), testShelter.Dequeue("unicorn").GetType().Name.ToLower());
            Assert.Equal("dog", testShelter.Dequeue("DOG").GetType().Name.ToLower());
            Assert.Equal("cat", testShelter.Dequeue("cAt").GetType().Name.ToLower());
            Assert.Equal("dog", testShelter.Dequeue("DoG").GetType().Name.ToLower());
            Assert.Equal("cat", testShelter.Dequeue("cAT").GetType().Name.ToLower());
            Assert.Equal("cat", testShelter.Dequeue("cAt").GetType().Name.ToLower());
        }
 public void TestMultiEnqueue()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Equal("CAT", shelter.Rear.Value);
 }
 public void TestFrontAfterDequeueMatch()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     shelter.Dequeue("dog");
     Assert.Equal("CAT", shelter.Front.Value);
 }
 public void TestCountAfterDequeueMatch()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     shelter.Dequeue("cat");
     Assert.Equal(1, shelter.Total);
 }
 public void CanEnqueueAnAnimal()
 {
     Animal a1 = new Animal("dog1");
     AnimalShelter WeHope = new AnimalShelter(a1);
     WeHope.Enqueue("cat1");
     WeHope.Enqueue("cat2");
     Assert.Equal("cat2", WeHope.Rear.type);
 }
        public void DequeueDog()
        {
            AnimalShelter myShelter = new AnimalShelter();

            myShelter.Enqueue(new Dog("Rex"));
            myShelter.Enqueue(new Dog("Rufus"));
            Assert.Equal("Rex", myShelter.Dequeue("dog").Name);
        }
        public void DequeueCat()
        {
            AnimalShelter myShelter = new AnimalShelter();

            myShelter.Enqueue(new Cat("Fluffy"));
            myShelter.Enqueue(new Cat("Felix"));
            Assert.Equal("Fluffy", myShelter.Dequeue("cat").Name);
        }
 public void CanNOtDequeueAbird()
 {
     Animal a1 = new Animal("dog1");
     AnimalShelter WeHope = new AnimalShelter(a1);
     WeHope.Enqueue("cat1");
     WeHope.Enqueue("cat2");
      WeHope.Dequeue("bird");
     Assert.True(WeHope.Dequeue("bird")==null);
 }
 public void CanDequeueAcat()
 {
     Animal a1 = new Animal("dog1");
     AnimalShelter WeHope = new AnimalShelter(a1);
     WeHope.Enqueue("cat1");
     WeHope.Enqueue("cat2");
     WeHope.Dequeue("cat1");
     Assert.Equal(2, WeHope.Counter);
 }
Example #17
0
        public void CanEnqueueMultipleDogs()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue("dog", "Josie");
            shelter.Enqueue("dog", "Bird");
            shelter.Enqueue("dog", "Demi");

            Assert.Equal("Demi", shelter.DogQueue.Rear.Name);
        }
 public void TestNoMatch()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Dog"));
     Assert.Null(shelter.Dequeue("cat").Value);
 }
Example #19
0
        public void CanEnqueueMultipleCats()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue("cat", "Sadie");
            shelter.Enqueue("cat", "Sofie");
            shelter.Enqueue("cat", "Ricky");

            Assert.Equal("Ricky", shelter.CatQueue.Rear.Name);
        }
Example #20
0
        public void CanReturnCorrectAnimalDequeue(string value, string expected)
        {
            AnimalShelter myShelter = new AnimalShelter(new Animal("cat"));

            myShelter.Enqueue(new Animal("cat"));
            myShelter.Enqueue(new Animal("dog"));
            myShelter.Enqueue(new Animal("cat"));

            Assert.Equal(expected, myShelter.Dequeue(value).Value);
        }
        public void Enqueue_AddsToRearOfNonEmptyShelterQueue()
        {
            AnimalShelter shelter = new AnimalShelter();
            Dog           dog     = new Dog("Puppers");

            shelter.Enqueue(dog);
            Cat cat = new Cat("Catters");

            shelter.Enqueue(cat);
            Assert.Equal("Catters", shelter.QOne.Rear.Name);
        }
        public void CanEnqueueTwoAnimals()
        {
            Cat           cat1          = new Cat("Fluffy");
            Cat           cat2          = new Cat("Kitty");
            Dog           dog1          = new Dog("Taco");
            AnimalShelter animalShelter = new AnimalShelter(cat1);

            animalShelter.Enqueue(cat2);
            animalShelter.Enqueue(dog1);
            Assert.Equal(3, animalShelter.Size);
        }
        public void Test_Multiple_Animals_Can_Be_Enqueued()
        {
            AnimalShelter testShelter = new AnimalShelter();
            Cat           testCat1    = new Cat();
            Cat           testCat2    = new Cat();

            testShelter.Enqueue(testCat1);
            testShelter.Enqueue(testCat2);

            Assert.Equal(testCat2, testShelter.Rear);
        }
Example #24
0
        public void ShowThatWeCanDequeue2()
        {
            AnimalShelter shelter = new AnimalShelter();
            Dog           brad    = new Dog("brad");
            Dog           dan     = new Dog("dan");

            shelter.Enqueue(brad);
            shelter.Enqueue(dan);
            shelter.Dequeue("dan");
            Assert.Equal("brad", shelter.Primary.Front.Name);
        }
Example #25
0
        public void SuccessfulMultipleEnqueues()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue(new Dog());
            shelter.Enqueue(new Cat());
            shelter.Enqueue(new Dog());
            shelter.Enqueue(new Cat());

            Assert.NotNull(shelter.First);
        }
        public void EnqueueTestDog()
        {
            AnimalShelter shelter = new AnimalShelter();
            Animal        cat     = new Animal("cat");
            Animal        dog     = new Animal("dog");

            shelter.Enqueue(cat);
            shelter.Enqueue(dog);

            Assert.Equal("dog", shelter.Rear.Type);
        }
Example #27
0
        public void CanEnqueueToFullShelter()
        {
            AnimalShelter test = new AnimalShelter();

            test.Enqueue(new Cat());
            test.Enqueue(new Cat());
            test.Enqueue(new Dog());
            test.Dequeue("cat");

            Assert.IsType <Cat>(test.Dequeue("cat"));
        }
        public void Enqueue_HoldsPlaceInLine()
        {
            AnimalShelter shelter = new AnimalShelter();
            Dog           dog     = new Dog("Puppers");

            shelter.Enqueue(dog);
            Cat cat = new Cat("Catters");

            shelter.Enqueue(cat);
            Assert.Equal("Puppers", shelter.QOne.Front.Name);
        }
Example #29
0
        public void ShowThatWeCanDequeue()
        {
            AnimalShelter shelter = new AnimalShelter();
            Dog           bandit  = new Dog("bandit");
            Dog           jesus   = new Dog("jesus");

            shelter.Enqueue(bandit);
            shelter.Enqueue(jesus);
            shelter.Dequeue("jesus");
            Assert.Equal("bandit", shelter.Primary.Front.Name);
        }
Example #30
0
        public void DequeueDoesNotRemoveIfNotCatOrDog()
        {
            ///dequeue will not remove animal if it isn't a dog or cat
            AnimalShelter testShelter = new AnimalShelter();

            testShelter.Enqueue("cat");
            testShelter.Enqueue("dog");
            testShelter.Enqueue("cat");
            testShelter.Dequeue("rabbit");
            Assert.Equal(2, testShelter.Shelter.Front.Value);
        }