Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #3
0
        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());
        }
Example #4
0
        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());
        }
Example #5
0
        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());
        }
Example #6
0
        /// <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);
            }
        }