public Meal Create()
        {
            var meal = new Meal();

            meal.Name = "Breakfast";
            var toast = new Toast();

            toast.Type = "Jam on";
            meal.Add(toast);

            var juice = new OrangeJuice();

            juice.Type = "Concentrate";

            meal.Add(juice);
            return(meal);
        }
        public override Meal MakeBreakfast()
        {
            var meal = new Meal();

            meal.Name = "Breakfast";
            var toast = new Toast();

            toast.Type = "Lightly Buttered";
            meal.Add(toast);

            var juice = new OrangeJuice();

            juice.Type = "Fresh";

            meal.Add(juice);
            return(meal);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("We have these fabulous drinkings.");

            Beverage espresso    = new Espresso();
            Beverage latte       = new Latte();
            Beverage orangejuice = new OrangeJuice();

            Console.WriteLine($"Espresso : {espresso.Description} \\.{espresso.Cost()}");
            Console.WriteLine($"Latte : {espresso.Description} \\.{latte.Cost()}");
            Console.WriteLine($"OrangeJuice : {espresso.Description} \\.{orangejuice.Cost()}");

            Beverage mochaLatte = new Mocha(new Latte());

            Console.WriteLine($"Mocha Latte : {mochaLatte.Description} \\.{mochaLatte.Cost()}");

            Console.ReadLine();
        }
示例#4
0
        public void SendMessage_Should_Send_Correct_Instructions_For_Orange_Juice_Order()
        {
            // GIVEN
            IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol();
            ICashRegister       cashRegister       = new CashRegister();

            CoffeeMachineLogic coffeeMachineLogic = new CoffeeMachineLogic(drinkMakerProtocol, cashRegister);

            IColdDrink  drink      = new OrangeJuice();
            IDrinkOrder drinkOrder = new DrinkOrder(drink);

            var price = drinkOrder.GetPrice();

            coffeeMachineLogic.InsertMoney(0.6);

            // WHEN
            string command = coffeeMachineLogic.SendCommand(drinkOrder);

            // THEN
            Check.That(command).IsEqualTo("O::");
        }
示例#5
0
        public void sendOrder_Sould_Build_Message_For_Orange(string codeDrink, string expectedMessage)
        {
            // arrange
            var beverageQuantityChecker = new Mock <IBeverageQuantityChecker>();

            beverageQuantityChecker.Setup(x => x.IsEmpty(codeDrink)).Returns(false);
            var emailNotifier = new Mock <IEmailNotifier>();

            emailNotifier.Setup(x => x.NotifyMissingDrink(codeDrink));
            var drink              = new OrangeJuice();
            var drinkOrder         = new DrinkOrder(drink);
            var drinkMakerProtocol = new DrinkMakerProtocol();
            var logicMachine       = new MachineLogic(drinkMakerProtocol, beverageQuantityChecker.Object, emailNotifier.Object);

            logicMachine.InsertMoney(.60);


            // act
            string message = logicMachine.SendOrder(drinkOrder);

            // assert
            Assert.Equal(expectedMessage, message);
        }