public void TestDeleteAviary() { var zoo = new Zoo("name", "address"); //Корректное удаление существующего пустого закрытого вольера var aviary = new Cage(CageType.WithRocks); zoo.AddAviary(aviary); zoo.CloseAviary(aviary.Number); Assert.AreEqual(true, zoo.DeleteAviary(aviary.Number)); Assert.AreEqual(null, zoo.FindAviary(aviary.Number)); //Попытка удалить незакрытый вольер System.Threading.Thread.Sleep(10); var aviary2 = new Cage(CageType.WithTrees); zoo.AddAviary(aviary2); Assert.AreEqual(false, zoo.DeleteAviary(aviary2.Number)); //Попытка удалить не существующий вольер try { zoo.DeleteAviary("any number"); Assert.Fail(); } catch (ArgumentException) { } //Попытка удалить уже удаленный вольер try { zoo.DeleteAviary(aviary.Number); Assert.Fail(); } catch (ArgumentException) { } }
private void CloseAviary() { Console.Clear(); Console.Write("Введите номер вольера:"); var number = Console.ReadLine(); try { if (_zoo.CloseAviary(number)) { Console.WriteLine("Вольер с номером {0} успешно закрыт", number); } else { Console.WriteLine("Вольер с номером {0} не может быть закрыт (например, занят или уже закрыт)", number); } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Вольер с номером {0} не существует", number); } Console.WriteLine("------------------------------------------------"); Console.WriteLine("Нажмите любую клавишу для возврата в меню..."); Console.ReadKey(); }
public void TestCloseAviary() { var zoo = new Zoo("name", "address"); //Корректное закрытие открытого вольера var aviary = new Cage(CageType.WithRocks); zoo.AddAviary(aviary); Assert.AreEqual(true, zoo.CloseAviary(aviary.Number)); Assert.AreEqual(AviaryStatus.Closed, zoo.FindAviary(aviary.Number).Status); //Попытка закрыть уже закрытый вольер Assert.AreEqual(false, zoo.CloseAviary(aviary.Number)); //Попытка закрыть несуществующий вольер try { zoo.CloseAviary("any number"); Assert.Fail(); } catch (ArgumentException) { } }
public void TestGetFullListOfAviaries() { var zoo = new Zoo("name", "address"); //Количество вольеров в непустом зоопарке var aviary1 = new Cage(CageType.WithRocks); zoo.AddAviary(aviary1); Assert.AreEqual(1, zoo.GetListOfAviaries().Count); //Количество вольеров в пустом зоопарке zoo.CloseAviary(aviary1.Number); zoo.DeleteAviary(aviary1.Number); Assert.AreEqual(0, zoo.GetListOfAviaries().Count); }
public void TestTransferAnimal() { var zoo = new Zoo("name", "address"); //Успешная попытка переместить животное в существующий подходящий вольер var aviary1 = new Cage(CageType.WithRocks); var animal1 = new Mammal(MammalDetachment.Artiodactyla, "family1", "genus1", "species1"); zoo.AddAviary(aviary1); zoo.SettleAnimal(animal1, aviary1); var aviary2 = new Cage(CageType.WithTrees, 5, 1); zoo.AddAviary(aviary2); Assert.AreEqual(true, zoo.TransferAnimal(zoo.FindAnimal(animal1.Id), zoo.FindAviary(aviary2.Number))); //Неуспешная попытка переместить животное в существующий не подходящий вольер var aviary3 = new Pool(PoolType.IndoorsPool); zoo.AddAviary(aviary3); Assert.AreEqual(false, zoo.TransferAnimal(zoo.FindAnimal(animal1.Id), zoo.FindAviary(aviary3.Number))); //Попытка переместить отсутствующее в зоопарке животное(несуществующее) в имеющийся вольер var animal2 = new Mammal(MammalDetachment.Artiodactyla, "family1", "genus1", "species1"); try { zoo.TransferAnimal(zoo.FindAnimal(animal2.Id), zoo.FindAviary(aviary1.Number)); Assert.Fail(); } catch (ArgumentException) { } //Попытка переместить отсутствующее в зоопарке животное в имеющийся вольер try { zoo.TransferAnimal(animal2, zoo.FindAviary(aviary1.Number)); Assert.Fail(); } catch (ArgumentException) { } //Попытка переместить имеющееся в зоопарке животное в отсутствующий (несуществующий) вольер zoo.SettleAnimal(animal2, aviary1); var aviary4 = new Pool(PoolType.IndoorsPool); try { zoo.TransferAnimal(zoo.FindAnimal(animal2.Id), zoo.FindAviary(aviary4.Number)); Assert.Fail(); } catch (ArgumentException) { } //Попытка переместить имеющееся в зоопарке животное в отсутствующий вольер try { zoo.TransferAnimal(zoo.FindAnimal(animal2.Id), aviary4); Assert.Fail(); } catch (ArgumentException) { } //Попытка переместить имеющееся животное в имеющийся подходящий, но полностью заполненный вольер Assert.AreEqual(false, zoo.TransferAnimal(zoo.FindAnimal(animal2.Id), zoo.FindAviary(aviary2.Number))); //Попытка переместить имеющееся животное в имеющийся подходящий пустой, но закрытый вольер zoo.EvictAnimal(animal1); zoo.CloseAviary(aviary2.Number); Assert.AreEqual(false, zoo.TransferAnimal(zoo.FindAnimal(animal2.Id), zoo.FindAviary(aviary2.Number))); }