Beispiel #1
0
        public void Test()
        {
            FoodFactory factory = new FoodFactory();
            FoodBase    f1      = factory.Create("Cheese");
            FoodBase    f2      = factory.Create("Cheese");

            Assert.IsNotNull(f1);
            Assert.AreEqual <int>(f1.GetHashCode(), f2.GetHashCode());
            FoodBase f3 = factory.Create("Capsicum");

            Assert.AreNotEqual <int>(f1.GetHashCode(), f3.GetHashCode());
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            List <Animal> animals = new List <Animal>();

            string command;

            while ((command = Console.ReadLine()) != "End")
            {
                Animal animal = AnimalFactory.Create(command.Split(' ', StringSplitOptions.RemoveEmptyEntries));
                animals.Add(animal);
                Console.WriteLine(animal.ProduceSound());
                Food.Food food = FoodFactory.Create(Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries));

                try
                {
                    animal.EatFood(food);
                }
                catch (ArgumentException ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            animals.ForEach(Console.WriteLine);
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            List <Animal> animals = new List <Animal>();

            string input;

            while ((input = Console.ReadLine()) != "End")
            {
                string[] animalArgs = input.Split();

                Animal animal = AnimalFactory.Create(animalArgs);

                string[] foodArgs = Console.ReadLine().Split();

                Food food = FoodFactory.Create(foodArgs);

                Console.WriteLine(animal.ProduceSound());
                try
                {
                    animal.Eat(food);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                animals.Add(animal);
            }

            foreach (var animal in animals)
            {
                Console.WriteLine(animal);
            }
        }
Beispiel #4
0
        public void Execute()
        {
            List <Animal> animals = new List <Animal>();

            string input = Console.ReadLine();

            while (input != "End")
            {
                try
                {
                    string[] animalArgs = input.Split();

                    Animal animal = AnimalFactory.Create(animalArgs);

                    Console.WriteLine(animal.ProduceSound());

                    string[] foodArgs = Console.ReadLine().Split();

                    Food food = FoodFactory.Create(foodArgs);

                    animal.Eat(food);
                    animals.Add(animal);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                input = Console.ReadLine();
            }

            animals.ForEach(Console.WriteLine);
        }
Beispiel #5
0
        public void Run()
        {
            string command;

            while ((command = Console.ReadLine()) != "End")
            {
                Animal animal = AnimalFactory.Create(command.Split(' ', StringSplitOptions.RemoveEmptyEntries));

                animals.Add(animal);

                Console.WriteLine(animal.ProduceSound());

                Food food = FoodFactory.Create(Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries));

                try
                {
                    animal.EatFood(food);
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }

            animals.ForEach(Console.WriteLine);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            Gandalf gandalf = new Gandalf();
            string  input   = Console.ReadLine();

            if (input.Length > 1000)
            {
                throw new Exception("The characters in the input string will be no more than: 1000");
            }
            string[] foods = input.Split(" ", StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < foods.Length; i++)
            {
                gandalf.Eat(FoodFactory.Create(foods[i]));
            }
            Console.WriteLine(gandalf.Happiness);
            Console.WriteLine(gandalf.Mood.Name);
            Console.ReadKey();
        }
Beispiel #7
0
        public static void Main(string[] args)
        {
            int index      = 0;
            var animalType = "";

            List <Animal> animals = new List <Animal>();

            while (true)
            {
                var input = Console.ReadLine();

                if (input == "End")
                {
                    break;
                }
                var splittedInput = input.Split();

                if (index % 2 == 0)
                {
                    var currentAnimal = AnimalFactory.Create(splittedInput);
                    animals.Add(currentAnimal);
                    animalType = currentAnimal.GetType().Name;
                }
                else
                {
                    try
                    {
                        var currentFood   = FoodFactory.Create(splittedInput);
                        var currentAnimal = animals[animals.Count - 1];
                        Console.WriteLine(currentAnimal.SayHello());
                        currentAnimal.Eat(currentFood);
                    }
                    catch (ArgumentException ae)
                    {
                        Console.WriteLine(ae.Message);
                    }
                }
                index++;
            }
            foreach (var animal in animals)
            {
                Console.WriteLine(animal.ToString());
            }
        }
Beispiel #8
0
        public static void Run()
        {
            List <Animal> animals = new List <Animal>();

            var    dog    = new Dog("Beto", 25, "John House");
            Animal animal = AnimalFactory.Create(dog);
            Fruit  fruit  = new Fruit(3);
            Food   food   = FoodFactory.Create(fruit);

            try
            {
                animal.Eat(food);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            animals.Add(animal);


            Tiger tiger = new Tiger("King", 650, "Forest", "Big Cat");

            animal = AnimalFactory.Create(tiger);
            Meat meat = new Meat(30);

            food = FoodFactory.Create(meat);
            try
            {
                animal.Eat(food);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            animals.Add(animal);

            foreach (var item in animals)
            {
                Console.WriteLine(item);
                Console.WriteLine("Sound: " + item.ProduceSound());
                Console.WriteLine("==============================================");
            }
        }
Beispiel #9
0
        public static void Main(string[] args)
        {
            List <Animal> animals = new List <Animal>();

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "End")
                {
                    break;
                }

                string[] animalArgs = command.Split();

                var animal = AnimalFactory.Create(animalArgs);
                animals.Add(animal);

                string[] foodArgs = Console.ReadLine().Split();

                var food = FoodFactory.Create(foodArgs);

                Console.WriteLine(animal.AskFood());

                try
                {
                    animal.Eat(food);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            foreach (var animal in animals)
            {
                Console.WriteLine(animal);
            }
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            string command  = string.Empty;
            string command2 = string.Empty;

            List <Animal> animals = new List <Animal>();

            while ((command = Console.ReadLine()) != "End" && (command2 = Console.ReadLine()) != "End")
            {
                string[] animalElements = command
                                          .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                Animal currentAnimal = AnimalFactory.Create(animalElements);
                animals.Add(currentAnimal);

                string[] foodElements = command2
                                        .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                Food currentFood = FoodFactory.Create(foodElements);

                Console.WriteLine(currentAnimal.ProduceSound());

                try
                {
                    currentAnimal.Feed(currentFood);
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }

            foreach (var animal in animals)
            {
                Console.WriteLine(animal);
            }
        }
        public static void Main()
        {
            string        input   = Console.ReadLine();
            List <Animal> animals = new List <Animal>();

            while (input != "End")
            {
                string[] animalInfo = input.Split();

                Animal animal = AnimalFactory.Create(animalInfo);

                string[] foodInfo = Console.ReadLine().Split();

                Food food = FoodFactory.Create(foodInfo);

                Console.WriteLine(animal.AskForFood());

                try
                {
                    animal.Eat(food);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                animals.Add(animal);

                input = Console.ReadLine();
            }

            foreach (Animal animal in animals)
            {
                Console.WriteLine(animal);
            }
        }