public void TestEvictAnimal() { var aviary = new Yard(YardType.Rock); //Успешная попытка выселить существующее животное var animal1 = new Mammal(MammalDetachment.Carnivora, "семейство1", "род1", "вид1"); aviary.SettleAnimal(animal1); aviary.EvictAnimal(animal1); Assert.AreEqual(0, aviary.GetListOfInhabitants().Count); //Неуспешная попытка выселить несуществующее животное try { aviary.EvictAnimal(null); Assert.Fail(); } catch (ArgumentException) { } //Неуспешная попытка выселить отсутствующее в вольере животное try { aviary.EvictAnimal(animal1); Assert.Fail(); } catch (ArgumentException) { } }
public void TestGetListOfInhabitants() { var aviary = new Yard(YardType.Plain); //Количество обитателей непустого вольера var animal1 = new Bird(BirdDetachment.Struthioniformes, "семейство1", "род1", "вид1"); aviary.SettleAnimal(animal1); Assert.AreEqual(1, aviary.GetListOfInhabitants().Count); //Количество обитателей пустого вольера aviary.EvictAnimal(animal1); Assert.AreEqual(0, aviary.GetListOfInhabitants().Count); }
public void TestSettleAnimal() { var aviary = new Yard(YardType.Forest, 100, 2); //Успешная попытка заселить животное в подходящий пустой вольер var animal1 = new Mammal(MammalDetachment.Artiodactyla, "семейство1", "род1", "вид1"); Assert.AreEqual(true, aviary.SettleAnimal(animal1)); //Успешная попытка заселить животное в подходящий непустой вольер var animal2 = new Mammal(MammalDetachment.Artiodactyla, "семейство1", "род1", "вид2"); Assert.AreEqual(true, aviary.SettleAnimal(animal2)); //Неуспешная попытка заселить животное в неподходящий непустой вольер var animal3 = new Bird(BirdDetachment.Struthioniformes, "семейство3", "род3", "вид3"); Assert.AreEqual(false, aviary.SettleAnimal(animal3)); //Неуспешная попытка заселить животное в подходящий полностью заполненный вольер var animal4 = new Mammal(MammalDetachment.Artiodactyla, "семейство1", "род1", "вид2"); Assert.AreEqual(false, aviary.SettleAnimal(animal4)); //Неуспешная попытка заселить животное в подходящий закрытый вольер var ids = new List <string>(); foreach (var animal in aviary.GetListOfInhabitants()) { ids.Add(animal.Id); } foreach (var id in ids) { aviary.EvictAnimal(aviary.FindAnimal(id)); } aviary.Close(); Assert.AreEqual(false, aviary.SettleAnimal(animal4)); //Неуспешная попытка заселить несуществующее животное в пустой вольер aviary.Open(); try { aviary.SettleAnimal(null); Assert.Fail(); } catch (ArgumentException) { } }
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) { } }