Esempio n. 1
0
        public void TestCloseAviary()
        {
            var aviary = new Aquarium(AquariumType.SeaWater);

            //Успешное закрытие вольера
            Assert.AreEqual(true, aviary.Close());
            Assert.AreEqual(AviaryStatus.Closed, aviary.Status);

            //Попытка закрыть уже закрытый вольер
            Assert.AreEqual(false, aviary.Close());

            //Попытка закрыть непустой вольер
            aviary.Open();
            aviary.SettleAnimal(new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Атлантический лосось"));
            Assert.AreEqual(false, aviary.Close());
        }
Esempio n. 2
0
        public void TestOpenAviary()
        {
            var aviary = new Aquarium(AquariumType.SeaWater);

            //Успешное открытие закрытого вольера
            aviary.Close();
            Assert.AreEqual(true, aviary.Open());
            Assert.AreEqual(AviaryStatus.Opened, aviary.Status);

            //Попытка открыть уже открытый вольер
            Assert.AreEqual(false, aviary.Open());
        }
Esempio n. 3
0
        public void TestSettleAnimal()
        {
            var aviary = new Aquarium(AquariumType.SeaWater);

            //Успешная попытка заселить животное в подходящий пустой вольер
            var animal1 = new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Атлантический лосось");

            Assert.AreEqual(true, aviary.SettleAnimal(animal1));

            //Успешная попытка заселить животное в подходящий непустой вольер
            var animal2 = new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Черноморский лосось");

            Assert.AreEqual(true, aviary.SettleAnimal(animal2));

            //Неуспешная попытка заселить животное в неподходящий непустой вольер
            var animal3 = new Bird(BirdDetachment.Struthioniformes, "Страусовые", "Страусы", "Страус");

            Assert.AreEqual(false, aviary.SettleAnimal(animal3));

            //Неуспешная попытка заселить животное в подходящий полностью заполненный вольер
            aviary.SettleAnimal(new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Черноморский лосось"));
            aviary.SettleAnimal(new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Черноморский лосось"));
            aviary.SettleAnimal(new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Черноморский лосось"));
            var animal4 = new Fish(FishDetachment.Salmoniformes, "Лососёвые", "Лососи", "Атлантический лосось");

            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) { }
        }