public Pizza OrderPizza(string type) { Pizza pizza = CreatePizza(type); pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); return(pizza); }
/// <summary> /// The order pizza. /// </summary> /// <param name="pizzaType"> /// The pizza type. /// </param> /// <returns> /// The <see cref="Pizza"/>. /// </returns> public Pizza OrderPizza(string pizzaType) { Pizza pizza = this.factory.CreatePizza(pizzaType); pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); return(pizza); }
public Pizza OrderPizza(PizzaType pizzaType) { Pizza pizza = CreatePizza(pizzaType); pizza.Prepare(); pizza.Bake(); pizza.Cut(); Pizza.Box(); return(pizza); }
public Pizza Order(object pizzaEnum) { Pizza pizza = CreatePizza(pizzaEnum); pizza.Prepare(); pizza.Bake(); pizza.Slice(); pizza.InBox(); pizza.ToString(); return(pizza); }
public Pizza OrderPizza(string type) { Pizza pizza = factory.CreatePizza(type); if (pizza != null) { pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); } return(pizza); }
public Pizza OrderPizza(string type) { Pizza pizza = null; pizza = createPizza(type); Console.WriteLine("--- Making a " + pizza.Name + " ---"); pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); return(pizza); }
public override IPizza MakePizza(string name) { var pizza = new Pizza(); switch (name) { case "Pepperoni": pizza.Build(name, "tomato", "cheese, basil, pepperoni"); pizza.Bake(350, 18); pizza.Slice(12); pizza.Box(); break; default: pizza.Build(name, "tomato", "cheese, basil"); pizza.Bake(350, 18); pizza.Slice(12); pizza.Box(); break; } return(pizza); }
public Pizza OrderPizza(string type) { Pizza pizza = CreatePizza(type); if (pizza == null) { throw new Exception("Unknown pizza ordered."); } pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); return(pizza); }
public void TestNYStyleCheesePizza() { HeadFirstDesignPatterns.Factory.PizzaStore.PizzaStore nyStore = new NYPizzaStore(); Pizza pizza = nyStore.OrderPizza("cheese"); string pizzaPrepareReturn = "Preparing NY Style Sauce and Cheese Pizza\n" + "Tossing Thin Crust Dough\n" + "Adding Martinara Sauce\n" + "Adding toppings:\n" + "\tGreated Reggiano Cheese\n"; Assert.AreEqual(pizzaPrepareReturn, pizza.Prepare()); Assert.AreEqual("Bake for 25 minutes at 350 \n", pizza.Bake()); Assert.AreEqual("Cutting the pizza into diagonal slices \n", pizza.Cut()); Assert.AreEqual("Place pizza in official PizzaStore box \n", pizza.Box()); Assert.AreEqual("NY Style Sauce and Cheese Pizza", pizza.GetName()); }
public void TestChicagoStyleCheesePizza() { HeadFirstDesignPatterns.AbstractFactory.PizzaStore.PizzaStore chicagoStore = new ChicagoPizzaStore(); Pizza pizza = chicagoStore.OrderPizza("cheese"); string pizzaPrepareReturn = "Preparing Chicago Style Cheese Pizza\n" + "Thick Crust Dough\n" + "Plum Tomato Sauce\n" + "Mozzerella Cheese"; Assert.AreEqual(pizzaPrepareReturn, pizza.Prepare()); Assert.AreEqual("Bake for 25 minutes at 350 \n", pizza.Bake()); Assert.AreEqual("Cutting the pizza into diagonal slices \n", pizza.Cut()); Assert.AreEqual("Place pizza in official PizzaStore box \n", pizza.Box()); Assert.AreEqual("Chicago Style Cheese Pizza", pizza.Name); }
public void TestNYStyleCheesePizza() { HeadFirstDesignPatterns.AbstractFactory.PizzaStore.PizzaStore nyStore = new NYPizzaStore(); Pizza pizza = nyStore.OrderPizza("cheese"); string pizzaPrepareReturn = "Preparing New York Style Cheese Pizza\n" + "Thin Crust Dough\n" + "Marinara Sauce\n" + "Reggiano Cheese"; Assert.AreEqual(pizzaPrepareReturn, pizza.Prepare()); Assert.AreEqual("Bake for 25 minutes at 350 \n", pizza.Bake()); Assert.AreEqual("Cutting the pizza into diagonal slices \n", pizza.Cut()); Assert.AreEqual("Place pizza in official PizzaStore box \n", pizza.Box()); Assert.AreEqual("New York Style Cheese Pizza", pizza.Name); }
public void TestChicagoStyleCheesePizza() { HeadFirstDesignPatterns.Factory.PizzaStore.PizzaStore chicagoStore = new ChicagoPizzaStore(); Pizza pizza = chicagoStore.OrderPizza("cheese"); string pizzaPrepareReturn = "Preparing Chicago Style Deep Dish Cheese Pizza\n" + "Tossing Extra Thick Crust Dough\n" + "Adding Plum Tomato Sauce\n" + "Adding toppings:\n" + "\tShredded Mozzarella Cheese\n"; Assert.AreEqual(pizzaPrepareReturn, pizza.Prepare()); Assert.AreEqual("Bake for 25 minutes at 350 \n", pizza.Bake()); Assert.AreEqual("Cutting the pizza into square slices \n", pizza.Cut()); Assert.AreEqual("Place pizza in official PizzaStore box \n", pizza.Box()); Assert.AreEqual("Chicago Style Deep Dish Cheese Pizza", pizza.GetName()); }
public void BakeTest() { var pizza = new Pizza(new List <float> { 1, 2, 3, 4, 5, 6, 7, 8 }); foreach (var slices in pizza.Slices) { Assert.IsFalse(slices.IsReady); } pizza.Bake(2); var expectedReady = new List <float>() { 0, 0, 1, 2, 3, 4, 5, 6 }; this.ValidatePizza(pizza, expectedReady); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine("What Piza do you you want"); string answer = Console.ReadLine(); SimplePizzaFactory spf = new SimplePizzaFactory(); Pizza pizza = spf.CreatePizza("Cheese"); pizza.Prepare(); pizza.Bake(); pizza.Box(); Zeeks zeeks = new Zeeks(); zeeks.OrderPizza("Cheese"); }
public void ConsumeSlicesTest_AllSuccess() { var pizza = new Pizza(new List <float> { 1, 1, 1, 1, 1, 1, 1, 1 }); pizza.Bake(1); var result = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.A, Pattern.B }); Assert.AreEqual(result.Count, 2); var expectedTimeLeft = new List <float>() { 1, 1, 0, 0, 0, 0, 0, 0 }; this.ValidatePizza(pizza, expectedTimeLeft); }
public void OrderPizza(string pizzaName) { /* The code commented below is tightly coupled and breaks the OCP */ //if (pizzaName == "cheese") //{ // _pizaa = new CheesePizza(); //} //if (pizzaName == "peppypaneer") //{ // _pizaa = new PeppypaneerPizza(); //} //if (pizzaName == "farmhouse") //{ // _pizaa = new FarmhousePizza(); //} Pizza pizza = _simplePizzaFactory.CreatePizza(pizzaName); pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); }
public void Execute() { pizza.Bake(); }
public void PizzaTest_EndToEnd() { // Make new pizza. var currentState = new List <float> { 1, 1, 1, 1, 1, 1, 1, 2 }; var pizza = new Pizza(currentState); this.ValidatePizza(pizza, currentState); // Can't consume any slices var consumeResult = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.A }); Assert.AreEqual(consumeResult.Count, 0); // Bake the pizza pizza.Bake(1); currentState = new List <float>() { 0, 0, 0, 0, 0, 0, 0, 1 }; this.ValidatePizza(pizza, currentState); // Can consume F,G, but not H consumeResult = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.F, Pattern.G, Pattern.H }); Assert.AreEqual(consumeResult.Count, 2); currentState = new List <float>() { 0, 0, 0, 0, 0, 1, 1, 1 }; this.ValidatePizza(pizza, currentState); // Add some toppings pizza.ApplyTopping(Topping.Pepperoni); var toppingState = new List <int>() { 1, 1, 1, 1, 1, 1, 1, 1 }; this.ValidatePizza(pizza, currentState, toppingState); // Consume the pizza consumeResult = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.A, Pattern.B }); Assert.AreEqual(consumeResult.Count, 2); currentState = new List <float>() { 1, 1, 0, 0, 0, 1, 1, 1 }; toppingState = new List <int>() { 0, 0, 1, 1, 1, 1, 1, 1 }; this.ValidatePizza(pizza, currentState, toppingState); this.ValidateSlices(consumeResult, Topping.Pepperoni); // Bake some more pizza.Bake(1); currentState = new List <float>() { 0, 0, 0, 0, 0, 0, 0, 0 }; this.ValidatePizza(pizza, currentState, toppingState); // Consume A again. Should be plain consumeResult = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.A }); Assert.AreEqual(consumeResult.Count, 1); Assert.AreEqual(consumeResult[0].Toppings.Count, 0); // Consume H. Should have toppings (even though it's being baked when the topping was added) consumeResult = pizza.ConsumeSlices(new HashSet <Pattern>() { Pattern.H }); currentState = new List <float>() { 1, 0, 0, 0, 0, 0, 0, 2 }; toppingState = new List <int>() { 0, 0, 1, 1, 1, 1, 1, 0 }; Assert.AreEqual(consumeResult.Count, 1); this.ValidatePizza(pizza, currentState, toppingState); this.ValidateSlices(consumeResult, Topping.Pepperoni); }