/***************************************************************************************************************** * Test Excercise 3 * If you have completed the previous test excercise, you can continue with this one * The project includes an interface IMilkableAnimal. Make use of this interface to implement on the relevant classes * so that calling the EmydexFarmSystem.MilkAnimals() method to get the below output * * Expected Test 3 Program Output * * Exercise 3 : Press any key when it is time to milk animals * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm * Cow was milked! ************************************************************************************************************/ private static void Excercise3() { //TODO : Apply OOP concepts and modify the code below to get the required output Console.WriteLine("Exercise 3 : Press any key when it is time to milk animals"); Console.ReadKey(); var farm = new EmydexFarmSystem(); var cow = new Cow { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(cow); var hen = new Hen { Id = Guid.NewGuid().ToString(), NoOfLegs = 2 }; farm.Enter(hen); var horse = new Horse { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(horse); var sheep = new Sheep { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(sheep); farm.MilkAnimals(); Console.ReadKey(); }
/***************************************************************************************************************** * Test Exercise 3 * If you have completed the previous test Exercise, you can continue with this one * The project includes an interface IMilkableAnimal. Make use of this interface to implement on the relevant classes * so that calling the EmydexFarmSystem.MilkAnimals() method to get the below output * * Expected Test 3 Program Output * * Exercise 3 : Press any key when it is time to milk animals * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm * Cow was milked! ************************************************************************************************************/ private static void Exercise3() { //TODO : Apply OOP concepts and modify the code below to get the required output Console.WriteLine("Exercise 3 : Press any key when it is time to milk animals"); Console.ReadKey(); var farm = new EmydexFarmSystem(); Cow cow = new Cow(); cow.Id = Guid.NewGuid().ToString(); cow.NoOfLegs = 4; farm.Enter(cow); Hen hen = new Hen(); hen.Id = Guid.NewGuid().ToString(); cow.NoOfLegs = 4; farm.Enter(hen); Horse horse = new Horse(); horse.Id = Guid.NewGuid().ToString(); horse.NoOfLegs = 4; farm.Enter(horse); Sheep sheep = new Sheep(); sheep.Id = Guid.NewGuid().ToString(); sheep.NoOfLegs = 4; farm.Enter(sheep); var animals = new List <IAnimal>(); animals.Add(cow); animals.Add(hen); animals.Add(horse); animals.Add(sheep); farm.MilkAnimals(animals); Console.ReadKey(); }
/************************************************************************************************************ * Exercise 1 : Apply OOP concepts (abstraction and encapsulation) to the classes * modify the code to get the output below * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm ***************************************************************************************************************/ private static void Excercise1() { Console.WriteLine("Exercise 1 : Press any key when it is time to open the Farm to animals"); Console.ReadKey(); var farm = new EmydexFarmSystem(); var cow = new Cow { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(cow); var hen = new Hen { Id = Guid.NewGuid().ToString(), NoOfLegs = 2 }; farm.Enter(hen); var horse = new Horse { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(horse); var sheep = new Sheep { Id = Guid.NewGuid().ToString(), NoOfLegs = 4 }; farm.Enter(sheep); Console.ReadKey(); }
/************************************************************************************************************ * Exercise 1 : Apply OOP concepts (abstraction and encapsulation) to the classes * modify the code to get the output below * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm ***************************************************************************************************************/ private static void Excercise1() { Console.WriteLine("Exercise 1 : Press any key when it is time to open the Farm to animals"); Console.ReadKey(); var farm = new EmydexFarmSystem(); Cow cow = new Cow(); farm.Enter(cow); // can pass constructor too, ex. farm.Enter(new Cow()); Hen hen = new Hen(); farm.Enter(hen); Horse horse = new Horse(); farm.Enter(horse); Sheep sheep = new Sheep(); farm.Enter(sheep); Console.ReadKey(); }
/*************************************************************************************************************** * Test Excercise 2 * If you have completed the first test excercise, you can continue with the second one * Modify the program and EmydexFarmSystem.MakeNoise() method to get the below output * Expected Test 2 Program Output * * Exercise 2 : Press any key to scare the animals in the farm * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm * Cow says Moo! * Hen says CLUCKAAAAAWWWWK! * Horse says Neigh! * Sheep says baa! *****************************************************************************************************************/ private static void Excercise2() { //TODO : Apply OOP concepts and modify the code below to get the required output Console.WriteLine("Exercise 2 : Press any key to scare the animals in the farm"); Console.ReadKey(); var farm = new EmydexFarmSystem(); Cow cow = new Cow(); cow.Id = Guid.NewGuid().ToString(); cow.NoOfLegs = 4; cow.Name = "Cow"; farm.Enter(cow); Hen hen = new Hen(); hen.Id = Guid.NewGuid().ToString(); hen.NoOfLegs = 4; hen.Name = "Hen"; farm.Enter(hen); Horse horse = new Horse(); horse.Id = Guid.NewGuid().ToString(); horse.NoOfLegs = 4; horse.Name = "Horse"; farm.Enter(horse); Sheep sheep = new Sheep(); sheep.Id = Guid.NewGuid().ToString(); sheep.NoOfLegs = 4; sheep.Name = "Sheep"; farm.Enter(sheep); farm.MakeNoise(); Console.ReadKey(); }
/**************************************************************************************************** * Test Exercise 4 * Modify the EmydexFarmSystem.ReleaseAllAnimals() so that all animals are released (simply clear the collection ) * Expose an event on the FarmSystem FarmEmpty which is invoked once all the animals are released * Subscribe to that event in the main to get the expected output * * Expected Test 4 Program Output * * Exercise 4: Press any key to free all animals * Cow has entered the farm * Hen has entered the farm * Horse has entered the farm * Sheep has entered the farm * Cow has left the farm * Hen has left the farm * Horse has left the farm * Sheep has left the farm * Emydex Farm is now empty ********************************************************************************************************************/ private static void Exercise4() { //TODO : Apply OOP concepts and modify the code below to get the required output Console.WriteLine("Exercise 4: Press any key to free all animals"); Console.ReadKey(); var farm = new EmydexFarmSystem(); farm.FarmEmpty += new EmydexFarmSystem.eventRaiser(farm.farmEmpty); Cow cow = new Cow(); cow.Id = Guid.NewGuid().ToString(); cow.NoOfLegs = 4; farm.Enter(cow); Hen hen = new Hen(); hen.Id = Guid.NewGuid().ToString(); cow.NoOfLegs = 4; farm.Enter(hen); Horse horse = new Horse(); horse.Id = Guid.NewGuid().ToString(); horse.NoOfLegs = 4; farm.Enter(horse); Sheep sheep = new Sheep(); sheep.Id = Guid.NewGuid().ToString(); sheep.NoOfLegs = 4; farm.Enter(sheep); farm.ReleaseAllAnimals(); Console.ReadKey(); }