예제 #1
0
        public void AddAnimal_ShelterIsFull()
        {
            var shelter = new ShelterRepository(1);
            Cat cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };
            Dog dog = new Dog {
                Name = "dog1", AgeInHumanYears = 2, Price = 22.99
            };

            shelter.AddAnimal(cat);

            shelter.AddAnimal(dog);
        }
예제 #2
0
        public void SendAnimalToShelterTest()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Animal {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var person = new Person
            {
                Name         = "John",
                Age          = 18,
                Money        = 9.99,
                OwnedAnimals = new Dictionary <string, Animal>
                {
                    { cat.Name, cat }
                }
            };
            Rabbit rabbit = new Rabbit {
                Name = "rabbit", AgeInHumanYears = 2
            };

            logic.SendAnimalToShelter(rabbit, person);
        }
예제 #3
0
        public void RemoveAnimal_AnimalEmpty()
        {
            var shelter = new ShelterRepository(1);
            Cat cat     = null;

            shelter.AddAnimal(cat);

            shelter.RemoveAnimal(cat);
        }
예제 #4
0
        public void GetNumberOfAnimalsInShelterTest1()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);

            logic.GetNumberOfAnimalsInShelter("alligator");
        }
예제 #5
0
        public void GetNumberOfRabbitsInShelterTest_Zero()
        {
            var shelter = new ShelterRepository(1);
            Cat cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var expected = 0;
            var actual   = shelter.GetNumberOfRabbitsInShelter();

            Assert.AreEqual(expected, actual);
        }
예제 #6
0
        public void GetNumberOfHamstersInShelterTest_Zero()
        {
            var    shelter = new ShelterRepository(1);
            Rabbit rabbit  = new Rabbit {
                Name = "rabbit", AgeInHumanYears = 2
            };

            shelter.AddAnimal(rabbit);
            var expected = 0;
            var actual   = shelter.GetNumberOfHamstersInShelter();

            Assert.AreEqual(expected, actual);
        }
예제 #7
0
        public void GetNumberOfAnimalsInShelterTest()
        {
            var shelter = new ShelterRepository(1);
            Cat cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var expected = 1;
            var actual   = shelter.GetNumberOfAnimalsInShelter(cat.GetType());

            Assert.AreEqual(expected, actual);
        }
예제 #8
0
        public void GetNumberOfAnimalsInShelterTest_String()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var expected = "1 cat(s) in the shelter";
            var actual   = logic.GetNumberOfAnimalsInShelter(cat.GetType().Name.ToLower());

            Assert.AreEqual(expected, actual);
        }
예제 #9
0
        public void GetNumberOfAnimalsInShelterTest()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Cat {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var expected = "1 cat(s) in the shelter\n0 dog(s) in the shelter\n0 snake(s) in the shelter" +
                           $"\n0 hamster(s) in the shelter\n0 rabbit(s) in the shelter";
            var actual = logic.GetNumberOfAnimalsInShelter();

            Assert.AreEqual(expected, actual);
        }
예제 #10
0
        public void IsShelterFullTest()
        {
            ShelterRepository shelter = new ShelterRepository(1);
            ShelterLogic      logic   = new ShelterLogic(shelter);
            Rabbit            rabbit2 = new Rabbit {
                Name = "rabbit2", AgeInHumanYears = 8
            };

            shelter.AddAnimal(rabbit2);

            var expected = true;
            var actual   = shelter.IsShelterFull();

            Assert.AreEqual(expected, actual);
        }
예제 #11
0
        public void BuyAnimalTest2()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Animal {
                Name = "cat", AgeInHumanYears = 2
            };

            shelter.AddAnimal(cat);
            var person = new Person
            {
                Name         = "John",
                Age          = 18,
                Money        = 9.99,
                OwnedAnimals = new Dictionary <string, Animal>()
            };

            logic.BuyAnimal <Animal>(person, cat.Name);
        }
예제 #12
0
        public void PurchaseAnimal_NotEnoughMoney()
        {
            var shelter = new ShelterRepository(1);
            var logic   = new ShelterLogic(shelter);
            var cat     = new Cat {
                Name = "cat1", AgeInHumanYears = 3, Price = 13.20
            };

            shelter.AddAnimal(cat);
            var person = new Person
            {
                Name         = "John",
                Age          = 18,
                Money        = 9.99,
                OwnedAnimals = new Dictionary <string, Animal>()
            };

            person.BuyAnimal <Cat>(logic);
        }
예제 #13
0
        public void BuyAnimalTest_NoAnimalInitialized()
        {
            int    maxNumberOfAnimals = 5;
            Rabbit rabbit2            = new Rabbit {
                Name = "rabbit2", AgeInHumanYears = 8, Price = 5
            };
            ShelterRepository shelterRepository = new ShelterRepository(maxNumberOfAnimals);

            shelterRepository.AddAnimal(rabbit2);
            ShelterLogic logic = new ShelterLogic(shelterRepository);

            Person person = new Person
            {
                Name         = "John",
                Age          = 18,
                Money        = 29.99,
                OwnedAnimals = new Dictionary <string, Animal>()
            };

            person.BuyAnimal <Rabbit>(logic);
        }