static void Main(string[] args)
        {
            IBeverage beverage = new DarkRoast();

            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");

            beverage = new Soy(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Mocha(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Mocha(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);
            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            beverage = new Whip(beverage);

            System.Console.WriteLine($"{beverage.GetDescription()}: ${beverage.GetCost()}\n");
            Console.ReadLine();
        }
Пример #2
0
        public void GetDescriptionShouldReturnDescriptionWithTextSettedInConstructor()
        {
            var expectedValue = "Dark Roast Coffee";
            var expresso      = new DarkRoast();

            expresso.GetDescription().Should()
            .Be(expectedValue);
        }
Пример #3
0
        public void description_should_be_dark_roast()
        {
            var darkRoast = new DarkRoast();

            var desc = darkRoast.GetDescription();

            Assert.AreEqual("Dark Roast", desc);
        }
Пример #4
0
        public void DarkRoast_ShouldBeExpressoAndCostNinetyNineCents_WhenIsInstantiate()
        {
            //Arrange
            Beverage beverage = new DarkRoast();

            //Act
            var description = beverage.GetDescription();
            var cost        = beverage.Cost();

            //Assert
            description.Should().Be("Dark Roast Coffee");
            cost.Should().Be(.99);
        }
Пример #5
0
        static void DecoratorInvoke()
        {
            Beverage beverage = new DarkRoast(); // 焦烤咖啡

            Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost());
            beverage = new Mocha(beverage);                  //添加摩卡
            Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost());
            beverage = new Milk(beverage);                   //添加牛奶
            Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost());
            Beverage beverage2 = new Milk(new HouseBlend()); // 家庭混合咖啡加摩卡加牛奶

            Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost());
        }
Пример #6
0
        static void Main(string[] args)
        {
            var beverage = new DarkRoast();

            Console.WriteLine($"Description: {beverage.GetDescription()}; Cost: {beverage.Cost()}");

            var beverage2  = new HouseBlend();
            var decorator1 = new Mocha(beverage2);
            var decorator2 = new Milk(decorator1);

            Console.WriteLine($"Description: {decorator2.GetDescription()}; Cost: {decorator2.Cost()}");

            Console.ReadKey();
        }
Пример #7
0
        public void Should_list_all_beverages_in_the_menu(string description)
        {
            var coffeeType = new DarkRoast();
            var testType   = new TestCoffee()
            {
                Description = description
            };
            var menu = new List <Beverage>()
            {
                new DarkRoast(), new Espresso(), new HouseBlend(), new Decaf(), testType
            };
            var testCoffeeShop = new Store(menu, null, _writer);

            testCoffeeShop.PrintMenu();
            A.CallTo(() => _writer.WriteLine(A <string> .That.Contains(coffeeType.GetDescription()))).MustHaveHappened();
            A.CallTo(() => _writer.WriteLine(A <string> .That.Contains(description))).MustHaveHappened();
        }
Пример #8
0
        static void Main()
        {
            Beverage beverage1 = new DarkRoast();

            Beverage beverage2 = new Espresso();

            beverage2 = new Milk(beverage2);

            Beverage beverage3 = new DarkRoast();

            beverage3 = new Milk(beverage3);
            beverage3 = new Whip(beverage3);

            Console.WriteLine(beverage1.GetDescription() + "\n" + beverage1.Cost());
            Console.WriteLine(beverage2.GetDescription() + "\n" + beverage2.Cost());
            Console.WriteLine(beverage3.GetDescription() + "\n" + beverage3.Cost());

            Console.ReadKey();
        }
Пример #9
0
        private static void WithDecorator()
        {
            IBeverage roast = new DarkRoast();

            Console.WriteLine("{0} cost {1}", roast.GetDescription(), roast.GetPrice());
            Console.ReadLine();

            roast = new MilkDecorator(roast);

            Console.WriteLine("{0} cost {1}", roast.GetDescription(), roast.GetPrice());
            Console.ReadLine();

            roast = new SugarDecorator(roast);

            Console.WriteLine("{0} cost {1}", roast.GetDescription(), roast.GetPrice());
            Console.ReadLine();

            IBeverage house = new HouseBlend();

            house = new MilkDecorator(house);

            Console.WriteLine("{0} cost {1}", house.GetDescription(), house.GetPrice());
            Console.ReadLine();
        }