public void OrderLungo_WithSugar() { AbstractAcuCafeFactory AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(true); IDrink drinkFullOrder = AcuCafeAddInsRules.ProcessCoofeeAddIns(AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.LUNGO), false, true, false); Assert.AreEqual("Lungo, Sugar", drinkFullOrder.Prepare()); Assert.AreEqual(2 + 0.5, drinkFullOrder.Cost()); }
public void OrderLungo() { AbstractAcuCafeFactory AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(true); IDrink drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.LUNGO); Assert.AreEqual("Lungo", drinkOrder.Prepare()); Assert.AreEqual(2, drinkOrder.Cost()); }
public void OrderRistretto_WithMilkAndSugarAndChocolate() { AbstractAcuCafeFactory AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(true); IDrink drinkFullOrder = AcuCafeAddInsRules.ProcessCoofeeAddIns(AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.RISTRETTO), true, true, true); Assert.AreEqual("Ristretto, Chocolate, Sugar, Milk", drinkFullOrder.Prepare()); Assert.AreEqual(1.5 + 0.5 + 0.5 + 0.5, drinkFullOrder.Cost()); }
public void OrderExpresso() { AbstractAcuCafeFactory AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(true); IDrink drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.EXPRESSO); Assert.AreEqual("Expresso", drinkOrder.Prepare()); Assert.AreEqual(1.8, drinkOrder.Cost()); }
public void OrderRistretto() { AbstractAcuCafeFactory AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(true); IDrink drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.RISTRETTO); Assert.AreEqual("Ristretto", drinkOrder.Prepare()); Assert.AreEqual(1.5, drinkOrder.Cost()); }
/// <summary> /// process the Drink order /// </summary> private void ProcessOrder() { AbstractAcuCafeFactory AcuCafeFactory; try { switch ((Enum)cmbDrinks.SelectedItem) { case AcuCafeEnum.EnumDrinks.EXPRESSO: AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(IsCoffee); drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.EXPRESSO); ProcessAddIns(IsCoffee); break; case AcuCafeEnum.EnumDrinks.RISTRETTO: AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(IsCoffee); drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.RISTRETTO); ProcessAddIns(IsCoffee); break; case AcuCafeEnum.EnumDrinks.LUNGO: AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(IsCoffee); drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.LUNGO); ProcessAddIns(IsCoffee); break; case AcuCafeEnum.EnumDrinks.TEA: AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(IsTea); drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.TEA); ProcessAddIns(IsTea); break; case AcuCafeEnum.EnumDrinks.ICETEA: AcuCafeFactory = AcuCafeFactoryProducer.GetAcuCafeFactory(IsTea); drinkOrder = AcuCafeFactory.GetDrink(AcuCafeEnum.EnumDrinks.ICETEA); ProcessAddIns(IsTea); break; default: throw new Exception("Undefine drink. We can not process the order."); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }