Esempio n. 1
0
        public void TestIsCorrectForSettlement()
        {
            var aviary = new Yard(YardType.Plain);

            //Успешная проверка на допустимость заселения животного в подходящий пустой вольер
            var animal1 = new Mammal(MammalDetachment.Artiodactyla, "семейство1", "род1", "вид1");
            var animal2 = new Mammal(MammalDetachment.Carnivora, "семейство2", "род2", "вид2");
            var animal3 = new Mammal(MammalDetachment.Perissodactyla, "семейство3", "род3", "вид3");
            var animal4 = new Mammal(MammalDetachment.Proboscidea, "семейство4", "род4", "вид4");
            var animal5 = new Bird(BirdDetachment.Struthioniformes, "семейство5", "род5", "вид5");

            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal1));
            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal2));
            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal3));
            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal4));
            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal5));

            //Успешная проверка на допустимость заселения животного в подходящий непустой вольер
            aviary.SettleAnimal(animal1);
            var animal6 = new Mammal(MammalDetachment.Artiodactyla, "семейство1", "род1", "вид2");

            Assert.AreEqual(true, aviary.IsCorrectForSettlement(animal6));

            //Неуспешная проверка на допустимость заселения животного в неподходящий пустой вольер
            aviary.EvictAnimal(animal1);
            var animal7 = new Mammal(MammalDetachment.Chiroptera, "семейство7", "род7", "вид7");

            Assert.AreEqual(false, aviary.IsCorrectForSettlement(animal7));

            //Неуспешная проверка на допустимость заселения животного в подходящий по типу вольер, но занятый несовместимым животным
            aviary.SettleAnimal(animal1);
            Assert.AreEqual(false, aviary.IsCorrectForSettlement(animal4));

            //Неуспешная проверка на допустимость заселения несуществующего животного
            try
            {
                aviary.IsCorrectForSettlement(null);
                Assert.Fail();
            }
            catch (ArgumentException) { }
        }