public void Execute(Menagerie menagerie)
 {
     foreach (Animal animal in menagerie.Animaux)
     {
         AfficherAnimal(animal);
     }
 }
Exemple #2
0
        public void SetNightInvalidTest()
        {
            var menagerie = new Menagerie();

            menagerie.SetNight();
            Assert.ThrowsException <IsNightException>(() => menagerie.SetNight());
        }
Exemple #3
0
        public void Execute(Menagerie menagerie)
        {
            //foreach(IBonus bonus in bonux)
            //{

            //}
        }
Exemple #4
0
        public void NoAnimalsHandleTest()
        {
            var handler = new NoAnimalsNoiseHandler();

            var menagerie = new Menagerie();

            var result = handler.Handle(menagerie);

            Assert.AreEqual("No animals in the menagerie", result);
        }
Exemple #5
0
        public void AddAnimalTest()
        {
            var menagerie = new Menagerie();

            var animal = new Wolf("test", 1);

            menagerie.AddAnimal(animal);

            Assert.AreEqual(1, menagerie.GetAnimals().Count);
            Assert.IsTrue(menagerie.GetAnimals().Contains(animal));
        }
        /// <summary>
        /// Ajoute un nouvel animal à la ménagerie
        /// </summary>
        /// <param name="menagerie"></param>
        public void Execute(Menagerie menagerie)
        {
            Console.WriteLine("Quel type d'animal (1 = Poussin, 2 = Chat, ...):");
            int typeAnimal = int.Parse(Console.ReadLine());

            Animal nouvelAnimal = CreerAnimal((AnimalType)typeAnimal);

            Console.WriteLine("Entrez un nom :");
            nouvelAnimal.Nom = Console.ReadLine();

            menagerie.Animaux.Add(nouvelAnimal);
        }
Exemple #7
0
        public void NightHandleTest()
        {
            var handler = new NightNoiseHandler();

            var menagerie = new Menagerie();

            menagerie.SetNight();

            var result = handler.Handle(menagerie);

            Assert.AreEqual("Shhh... It's the night", result);
        }
Exemple #8
0
        public void NightHandleInvalidTest()
        {
            var handler = new NightNoiseHandler();

            Mock <NoiseHandler> mockHandler = GetMockHandler();

            handler.Successor = mockHandler.Object;

            var menagerie = new Menagerie();

            var result = handler.Handle(menagerie);

            mockHandler.Verify(mh => mh.Handle(menagerie));
        }
Exemple #9
0
        public void SetNightTest()
        {
            var menagerie = new Menagerie();

            var animal1 = new Wolf("test", 1);
            var animal2 = new Bear("test2", 2);

            animal2.NightNight();

            menagerie.AddAnimal(animal1);
            menagerie.AddAnimal(animal2);

            menagerie.SetNight();

            Assert.IsTrue(animal1.IsSleeping);
            Assert.IsTrue(animal2.IsSleeping);
        }
Exemple #10
0
        public void NoAnimalsHandleInvalidTest()
        {
            var handler = new NoAnimalsNoiseHandler();

            Mock <NoiseHandler> mockHandler = GetMockHandler();

            handler.Successor = mockHandler.Object;

            var menagerie = new Menagerie();
            var animal    = new Wolf("test", 1);

            menagerie.AddAnimal(animal);

            var result = handler.Handle(menagerie);

            mockHandler.Verify(mh => mh.Handle(menagerie));
        }
Exemple #11
0
        static void Main(string[] args)
        {
            Menagerie zoo = new Menagerie();

            Console.WriteLine("Добро пожаловать в зверинец!\nv - добавить вольер\nc - добавить клетку\na - добавить животное\nd - удалить\no - опции\ni - информация");
            while (true)
            {
                var k = Console.ReadKey();
                switch (k.Key)
                {
                case ConsoleKey.V:
                    bool isDone = true;
                    do
                    {
                        Console.WriteLine("\nh - вольер для травоядных\np - вольер для хищников");
                        var key = Console.ReadKey();
                        switch (key.Key)
                        {
                        case ConsoleKey.H:
                            zoo.Add(new AviaryForHerbivorous <Herbivorous>());
                            Done();
                            isDone = true;
                            break;

                        case ConsoleKey.P:
                            zoo.Add(new AviaryForPredators <Predator>());
                            Done();
                            isDone = true;
                            break;

                        default:
                            isDone = false;
                            break;
                        }
                    }while (!isDone);
                    break;

                case ConsoleKey.C:
                    isDone = true;
                    do
                    {
                        Console.WriteLine("\nКуда поместить клетку?\nz - в сам зверинец\nv - в вольер\nc - в другую клетку");
                        var key1 = Console.ReadKey();
                        switch (key1.Key)
                        {
                        case ConsoleKey.Z:
                            Console.WriteLine("\nw - для волков\nb - для медведей\ng - для жирафов");
                            var k2 = Console.ReadKey();
                            zoo.Add(ChooseCage(k2));
                            Done();
                            isDone = true;
                            break;

                        case ConsoleKey.V:
                            List <Container> aviaries = zoo.GetAviaries();
                            if (aviaries.Count == 0)
                            {
                                Console.WriteLine("\nВ зверинце нет вольеров!");
                            }
                            else
                            {
                                Console.WriteLine("\nw - для волков\nb - для медведей\ng - для жирафов");
                                k2 = Console.ReadKey();
                                Console.WriteLine("\nВыберите вольер:");
                                int i = 1;
                                foreach (var item in aviaries)
                                {
                                    Console.WriteLine(i + " - " + item.ToString());
                                    i++;
                                }
                                int a = 0;
                                try
                                { a = Convert.ToInt32(Console.ReadLine()); }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                var av = aviaries[a - 1];
                                i = av.Units.Count;
                                av.Add(ChooseCage(k2));
                                if (i == av.Units.Count)
                                {
                                    Fail();
                                }
                                else
                                {
                                    Done();
                                }
                            }
                            isDone = true;
                            break;

                        case ConsoleKey.C:
                            List <Container> cages = zoo.GetCages();
                            if (cages.Count == 0)
                            {
                                Console.WriteLine("\nВ зверинце нет клеток!");
                            }
                            else
                            {
                                Console.WriteLine("\nw - для волков\nb - для медведей\ng - для жирафов");
                                k2 = Console.ReadKey();
                                Console.WriteLine("\nВыберите клетку:");
                                int i = 1;
                                foreach (var item in cages)
                                {
                                    Console.WriteLine(i + " - " + item.ToString());
                                    i++;
                                }
                                int a = 0;
                                try
                                { a = Convert.ToInt32(Console.ReadLine()); }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                var av = cages[a - 1];
                                i = av.Units.Count;
                                av.Add(ChooseCage(k2));
                                if (i == av.Units.Count)
                                {
                                    Fail();
                                }
                                else
                                {
                                    Done();
                                }
                            }
                            isDone = true;
                            break;

                        default:
                            isDone = false;
                            break;
                        }
                    } while (!isDone);
                    break;

                case ConsoleKey.A:
                    List <Container> avs = zoo.GetAviaries();
                    List <Container> cs  = zoo.GetCages();
                    if (avs.Count == 0 && cs.Count == 0)
                    {
                        Console.WriteLine("\nВ зоопарке пусто, некуда поселить животное!");
                        break;
                    }
                    isDone = true;
                    Animal animal = AnimalFactory.CreateRandomAnimal();
                    Console.WriteLine("\nСоздано животное " + animal.ToString());
                    do
                    {
                        Console.WriteLine("\nКуда поместить животное?\nv - в вольер\nc - в клетку");
                        var key2 = Console.ReadKey();
                        switch (key2.Key)
                        {
                        case ConsoleKey.V:
                            List <Container> aviaries = zoo.GetAviaries();
                            if (aviaries.Count == 0)
                            {
                                Console.WriteLine("\nВ зверинце нет вольеров!");
                            }
                            else
                            {
                                Console.WriteLine("\nВыберите вольер:");
                                int i = 1;
                                foreach (var item in aviaries)
                                {
                                    Console.WriteLine(i + " - " + item.ToString());
                                    i++;
                                }
                                int a = 0;
                                try
                                { a = Convert.ToInt32(Console.ReadLine()); }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                var av = aviaries[a - 1];
                                i = av.Units.Count;
                                av.Add(animal);
                                if (i == av.Units.Count)
                                {
                                    Fail();
                                }
                                else
                                {
                                    Done();
                                }
                            }
                            isDone = true;
                            break;

                        case ConsoleKey.C:
                            List <Container> cages = zoo.GetCages();
                            if (cages.Count == 0)
                            {
                                Console.WriteLine("\nВ зверинце нет клеток!");
                            }
                            else
                            {
                                Console.WriteLine("\nВыберите клетку:");
                                int i = 1;
                                foreach (var item in cages)
                                {
                                    Console.WriteLine(i + " - " + item.ToString());
                                    i++;
                                }
                                int a = 0;
                                try
                                { a = Convert.ToInt32(Console.ReadLine()); }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                var av = cages[a - 1];
                                i = av.Units.Count;
                                av.Add(animal);
                                if (i == av.Units.Count)
                                {
                                    Fail();
                                }
                                else
                                {
                                    Done();
                                }
                            }
                            isDone = true;
                            break;

                        default:
                            isDone = false;
                            break;
                        }
                    } while (!isDone);
                    break;

                case ConsoleKey.I:
                    Console.WriteLine(zoo.Info());
                    break;

                case ConsoleKey.D:
                    isDone = true;
                    do
                    {
                        Console.WriteLine("\na - животное\nc - клетку");
                        var k2 = Console.ReadKey();
                        switch (k2.Key)
                        {
                        case ConsoleKey.A:
                            Animal[] animals = zoo.GetAnimals().ToArray();
                            if (animals.Length > 0)
                            {
                                for (int i = 0; i < animals.Length; i++)
                                {
                                    Console.WriteLine("{0} - {1}", i + 1, animals[i]);
                                }
                                int a = 0;
                                try
                                {
                                    a = Convert.ToInt32(Console.ReadLine());
                                }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                zoo.Remove(animals[a - 1]);
                                Done();
                            }
                            else
                            {
                                Console.WriteLine("\nВ зверинце нет животных!");
                            }
                            isDone = true;
                            break;

                        case ConsoleKey.C:
                            Container[] cages = zoo.GetCages().ToArray();
                            if (cages.Length > 0)
                            {
                                for (int i = 0; i < cages.Length; i++)
                                {
                                    Console.WriteLine("{0} - {1}", i + 1, cages[i]);
                                }
                                int b = 0;
                                try
                                {
                                    b = Convert.ToInt32(Console.ReadLine());
                                }
                                catch (FormatException ex)
                                {
                                    Console.WriteLine("\nЦифру введи, дубина!");
                                    isDone = false;
                                    break;
                                }
                                zoo.Remove(cages[b - 1]);
                                Done();
                            }
                            else
                            {
                                Console.WriteLine("\nВ зверинце нет клеток!");
                            }
                            isDone = true;
                            break;

                        default:
                            isDone = false;
                            break;
                        }
                    }while (!isDone);
                    break;

                case ConsoleKey.O:
                    isDone = true;
                    do
                    {
                        Console.WriteLine("\nd - сменить время суток\nv - подать голос\nw - средний вес\nc - общий вес");
                        var k3 = Console.ReadKey();
                        switch (k3.Key)
                        {
                        case ConsoleKey.D:
                            zoo.ChangeTime();
                            Done();
                            Console.WriteLine("Текущее время суток: {0}", zoo.CurrentTimeOfDay == Menagerie.TimeOfDay.Day ? "день" : "ночь");
                            isDone = true;
                            break;

                        case ConsoleKey.V:
                            Console.WriteLine(zoo.Voice());
                            isDone = true;
                            break;

                        case ConsoleKey.W:
                            Console.WriteLine("Средний вес животного в зверинце: {0}", zoo.GetAverageWeight().ToString());
                            isDone = true;
                            break;

                        case ConsoleKey.C:
                            Console.WriteLine("Общий вес животных в зверинце: {0}", zoo.GetWeight().ToString());
                            isDone = true;
                            break;

                        default:
                            isDone = false;
                            break;
                        }
                    }while (!isDone);
                    break;
                }
            }
            Console.ReadKey();
        }
Exemple #12
0
        public void SetDayInvalidTest()
        {
            var menagerie = new Menagerie();

            Assert.ThrowsException <IsDayException>(() => menagerie.SetDay());
        }