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 static void FIFOAnimalShelter()
        {
            AnimalShelter shelter = new AnimalShelter();
            Animal        cat     = new Animal("cat");
            Animal        dog     = new Animal("dog");
            Animal        turtle  = new Animal("turtle");

            Console.WriteLine("");
            Console.WriteLine("=============brand new empty shelter=========");
            shelter.Dequeue(dog);
            Console.WriteLine("");
            Console.WriteLine("=============adding animals to shelter=========");
            Console.WriteLine("===adding dog, dog, cat, dog, cat, turtle======");
            shelter.Enqueue(dog);
            shelter.Enqueue(cat);
            shelter.Enqueue(dog);
            shelter.Enqueue(dog);
            shelter.Enqueue(cat);
            shelter.Enqueue(turtle);

            Console.WriteLine("");
            Console.WriteLine("=============adopting a cat=========");
            Console.WriteLine(shelter.Dequeue(cat).Type);

            Console.WriteLine("");
            Console.WriteLine("=============adopting a dog=========");
            Console.WriteLine(shelter.Dequeue(dog).Type);

            Console.WriteLine("");
            Console.WriteLine("=============adopting a turtle=========");
            Console.WriteLine($"Sorry.  We only have cats and dogs.  So you get to adopt the longest animal that's been here.  {shelter.Dequeue(turtle).Type}");
        }
 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);
 }
示例#4
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"));
        }
示例#5
0
        public void CanReturnCatWhenNoDog()
        {
            AnimalShelter myShelter = new AnimalShelter(new Animal("cat"));

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

            myShelter.Dequeue("dog");

            Assert.Equal("cat", myShelter.Dequeue("dog").Value);
        }
        public void FIFONoAnimalDequeueingTest()
        {
            Animal        DogSpotty       = new Animal("Spotty", "Dog");
            Animal        CatMittens      = new Animal("Mittens", "Cat");
            AnimalShelter MyAnimalShelter = new AnimalShelter();

            MyAnimalShelter.Enqueue(new Node(DogSpotty));
            MyAnimalShelter.Enqueue(new Node(CatMittens));
            MyAnimalShelter.Dequeue("Dog");
            MyAnimalShelter.Dequeue("Cat");
            Animal MyAnimal = (Animal)MyAnimalShelter.Peek().Data;

            Assert.Equal("No Animal", MyAnimal.Name);
        }
示例#7
0
        public void ReturnsFirstEnqueuedWithoutPreference()
        {
            AnimalShelter test = new AnimalShelter();

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

            test.Dequeue("no preference");

            Assert.IsType <Cat>(test.Dequeue("No Preference"));
        }
示例#8
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 CanDequeueAnItemFromTheShelter()
        {
            // Arrange
            AnimalShelter shelter = new AnimalShelter();

            Dog[] dogs = new Dog[4];
            //Dog testDog = new Dog();

            int counter = 1;

            foreach (Dog item in dogs)
            {
                shelter.Enqueue(new Dog()
                {
                    Name = $"{counter++}"
                });
            }

            // Act
            Animal testNode         = shelter.Dequeue("dog");
            string returnFromMethod = testNode.Name;
            string expected         = "1";

            // Assert

            Assert.Equal(expected, returnFromMethod);
        }
        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());
        }
示例#11
0
        public void DeoptCatNull()
        {
            AnimalShelter shelter = new AnimalShelter();
            var           x       = shelter.Dequeue("cat");

            Assert.Null(x);
        }
 public void TestDequeueInvalidAnimal()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Null(shelter.Dequeue("ferret").Value);
 }
示例#13
0
        public void EdgeCase()
        {
            AnimalShelter shelter = new AnimalShelter();
            Animal        test    = shelter.Dequeue("rat");

            Assert.Null(test);
        }
示例#14
0
        public void AnimalShelterReturnsNullIfShelterIsEmpty()
        {
            AnimalShelter shelter = new AnimalShelter();
            Animal        result  = shelter.Dequeue();

            Assert.Null(result);
        }
        public void CanDequeueTheOldestAnimalWithDogPref()
        {
            //Arrange
            AnimalShelter testShelter = new AnimalShelter();

            //Act
            Dog dog1 = new Dog("Albert");

            testShelter.Enqueue(dog1);

            Cat cat1 = new Cat("Bowling Ball");

            testShelter.Enqueue(cat1);

            Dog dog2 = new Dog("Sheetrock");

            testShelter.Enqueue(dog2);

            Cat cat2 = new Cat("Knitty Smitty");

            testShelter.Enqueue(cat2);

            Dog dog3 = new Dog("Brah");

            testShelter.Enqueue(dog3);

            Cat cat3 = new Cat("Wish Bone");

            testShelter.Enqueue(cat3);

            //Assert
            Assert.Equal(dog1, testShelter.Dequeue("dog"));
        }
        public void ReturnsNullWhenPrefAnUnknownString()
        {
            //Arrange
            AnimalShelter testShelter = new AnimalShelter();

            //Act
            Dog dog1 = new Dog("Albert");

            testShelter.Enqueue(dog1);

            Cat cat1 = new Cat("Bowling Ball");

            testShelter.Enqueue(cat1);

            Dog dog2 = new Dog("Sheetrock");

            testShelter.Enqueue(dog2);

            Cat cat2 = new Cat("Knitty Smitty");

            testShelter.Enqueue(cat2);

            Dog dog3 = new Dog("Brah");

            testShelter.Enqueue(dog3);

            Cat cat3 = new Cat("Wish Bone");

            testShelter.Enqueue(cat3);

            //Assert
            Assert.Null(testShelter.Dequeue("iguana"));
        }
 public void TestDequeueMatch()
 {
     AnimalShelter shelter = new AnimalShelter();
     shelter.Enqueue(new Animal("Dog"));
     shelter.Enqueue(new Animal("Cat"));
     Assert.Equal("CAT", shelter.Dequeue("cat").Value);
 }
示例#18
0
        public void DeoptDogNull()
        {
            AnimalShelter shelter = new AnimalShelter();
            var           x       = shelter.Dequeue("dog");

            Assert.Null(x);
        }
示例#19
0
        public void TestDequeue(string pref, string expected)
        {
            AnimalShelter shelter = new AnimalShelter(new Dog("Moby"));

            shelter.Enqueue(new Cat("Boots"));
            Assert.Equal(expected, shelter.Dequeue(pref).Name);
        }
        public void DequeueAnimal()
        {
            AnimalShelter myShelter = new AnimalShelter();

            myShelter.Enqueue(new Animal());
            Assert.True(myShelter.Dequeue("other") is Animal);
        }
 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 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 CanCreateAnEmptyAnimalShelter()
        {
            //Arrange
            AnimalShelter testShelter = new AnimalShelter();

            //Assert
            Assert.Null(testShelter.Dequeue("cat"));
        }
 public void CanDequeueADog()
 {
     Animal a1 = new Animal("dog1");
     AnimalShelter WeHope = new AnimalShelter(a1);
     WeHope.Enqueue("cat1");
     WeHope.Dequeue("dog1");
     Assert.Equal("cat1", WeHope.Front.type);
 }
 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);
 }
示例#27
0
        public void SuccessfulMismatchDequeue()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue(new Cat());
            Animal nextAnimal = shelter.Dequeue("Dog");

            Assert.Null(nextAnimal);
        }
示例#28
0
        public void SuccessfulDogDequeue()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue(new Dog());
            Animal nextAnimal = shelter.Dequeue("Dog");

            Assert.NotNull(nextAnimal);
        }
示例#29
0
        public void SuccessfulCatDequeue()
        {
            AnimalShelter shelter = new AnimalShelter();

            shelter.Enqueue(new Cat());
            Animal nextAnimal = shelter.Dequeue("Cat");

            Assert.NotNull(nextAnimal);
        }
示例#30
0
        public void TestRemoveFrontWhenEmpty()
        {
            AnimalShelter shelter = new AnimalShelter(new Dog("Moby"));

            shelter.Dequeue("");
            Exception ex = Assert.Throws <Exception>(() => shelter.RemoveFront());

            Assert.Equal("The shelter is empty!", ex.Message);
        }