/// <summary> /// Map DBSize => Size /// Uses enum to determine which size class to return. /// </summary> /// <param name="entity"></param> /// <returns></returns> public ASize Map(DBSize entity) { ASize size = null; switch (entity.SIZE) { case SIZES.SMALL: size = new SmallSize(); break; case SIZES.MEDIUM: size = new MediumSize(); break; case SIZES.LARGE: size = new LargeSize(); break; default: throw new ArgumentException("Size not recognized. Size could not be mapped properly"); } size.ID = entity.ID; return(size); }
public void Test_LargeSizePrice() { // arrange var sut = new LargeSize(); // act var actual = sut.Price; // assert Assert.Equal(actual, 4.5m); }
public void Test_LargeSizeToString() { // arrange var sut = new LargeSize(); // act var actual = sut.ToString(); // assert Assert.Equal(actual, "Large Size"); }
public void Test_StoreName2() { // arrange var sut = new LargeSize(); // act var actual = sut.Name; // assert Assert.True(actual == "Large"); }
public ActionResult <APizza> GetPizzaInfo(PIZZAS PIZZA, SIZES SIZE) { APizza pizza; ASize size; switch (SIZE) { case SIZES.SMALL: size = new SmallSize(); break; case SIZES.MEDIUM: size = new MediumSize(); break; case SIZES.LARGE: size = new LargeSize(); break; default: return(StatusCode(400, "Size not recognized")); } switch (PIZZA) { case PIZZAS.MEAT: pizza = new MeatPizza(size); break; case PIZZAS.HAWAIIAN: pizza = new HawaiianPizza(size); break; case PIZZAS.VEGAN: pizza = new VeganPizza(size); break; case PIZZAS.CUSTOM: return(StatusCode(400, "You entered a custom pizza without providing the crust or toppings")); default: return(StatusCode(400, "Size not recognized")); } pizza.CalculatePrice(); return(Ok(pizza)); }
public ActionResult <APizza> GetPizzaInfo(PIZZAS PIZZA, SIZES SIZE, CRUSTS CRUST, [FromQuery] List <TOPPINGS> TOPPING) { APizza pizza; ASize size; ACrust crust; List <ATopping> toppings = new List <ATopping>(); switch (SIZE) { case SIZES.SMALL: size = new SmallSize(); break; case SIZES.MEDIUM: size = new MediumSize(); break; case SIZES.LARGE: size = new LargeSize(); break; default: return(StatusCode(400, "Size not recognized")); } switch (CRUST) { case CRUSTS.DEEPDISH: crust = new DeepDishCrust(); break; case CRUSTS.STANDARD: crust = new StandardCrust(); break; case CRUSTS.STUFFED: crust = new StuffedCrust(); break; case CRUSTS.THIN: crust = new ThinCrust(); break; default: return(StatusCode(400, "Crust not recognized")); } foreach (TOPPINGS toppingEnum in TOPPING) { switch (toppingEnum) { case TOPPINGS.BACON: toppings.Add(new Bacon()); break; case TOPPINGS.CHICKEN: toppings.Add(new Chicken()); break; case TOPPINGS.EXTRACHEESE: toppings.Add(new ExtraCheese()); break; case TOPPINGS.GREENPEPPER: toppings.Add(new GreenPepper()); break; case TOPPINGS.HAM: toppings.Add(new Ham()); break; case TOPPINGS.NOCHEESE: toppings.Add(new NoCheese()); break; case TOPPINGS.PINEAPPLE: toppings.Add(new Pineapple()); break; case TOPPINGS.REDPEPPER: toppings.Add(new RedPepper()); break; case TOPPINGS.SAUSAGE: toppings.Add(new Sausage()); break; default: return(StatusCode(400, "Topping not recognized")); } } pizza = new APizza { PIZZA = PIZZA, Name = Enum.GetName <PIZZAS>(PIZZA), Crust = crust, Toppings = toppings }; switch (PIZZA) { case PIZZAS.MEAT: pizza = new MeatPizza(size); pizza.Crust = crust; pizza.Toppings = toppings; break; case PIZZAS.HAWAIIAN: pizza = new HawaiianPizza(size); pizza.Crust = crust; pizza.Toppings = toppings; break; case PIZZAS.VEGAN: pizza = new VeganPizza(size); pizza.Crust = crust; pizza.Toppings = toppings; break; case PIZZAS.CUSTOM: pizza = new CustomPizza(crust, size, toppings); break; default: return(StatusCode(400, "Size not recognized")); } pizza.CalculatePrice(); return(Ok(pizza)); }
public override void AddSize() { Size = new LargeSize(); }