public void DarkRoastWithMochaWithWhipWithMilk() { Beverage beverage = new DarkRoast(); beverage = new Mocha(beverage); beverage = new Whip(beverage); beverage = new Milk(beverage); Assert.AreEqual(1.39, beverage.Cost(),DELTA); }
private static void Main() { var myCoffee = new Milk(new Espresso()); Console.WriteLine($"{myCoffee.Description}: {myCoffee.Cost():F}"); var newCoffee = new Soy(myCoffee); Console.WriteLine($"{newCoffee.Description}: {newCoffee.Cost():F}"); }
public void DarkRoastWithMochaWithWhipWithMilk() { Beverage beverage = new DarkRoast(); beverage = new Mocha(beverage); beverage = new Whip(beverage); beverage = new Milk(beverage); Assert.AreEqual(1.39, beverage.Cost(), DELTA); }
public void DecoratorTest() { { var m = new ConcreteComponent(); var decoratorA = new DecoratorA(m); // decoratorA.Work(); var decoratorB = new DecoratorB(decoratorA); decoratorB.Work(); } { // 我买了个苹果手机 Phone phone = new ApplePhone(); // 现在想贴膜了 var applePhoneWithSticker = new Sticker(phone); // 扩展贴膜行为 applePhoneWithSticker.Print(); // 现在我想有挂件了 var applePhoneWithAccessories = new Accessories(phone); // 扩展手机挂件行为 applePhoneWithAccessories.Print(); Console.WriteLine("----------------------"); // 现在我同时有贴膜和手机挂件了 var sticker = new Sticker(phone); var applePhoneWithAccessoriesAndSticker = new Accessories(sticker); applePhoneWithAccessoriesAndSticker.Print(); } // { // AbstractMessage message = new SqlMessage(); // var de = new CheckUserWrapper(message); // Console.WriteLine(de.Get()[0].Message); // // var d2 = new CheckInputWrapper(message); // Console.WriteLine(d2.Get()[0].Message); // // var m3 = new CheckUserWrapper(message); // var m4 = new CheckInputWrapper(m3); // Console.WriteLine(m4.Get()[0].Message); // } { var dark = new DarkRoast("黑咖啡"); var sugar = new Sugar("加糖", dark); Console.WriteLine($"{sugar.GetDescription()}{sugar.Cost()}元");; var milk = new Milk("加奶", sugar); Console.WriteLine($"{milk.GetDescription()}{milk.Cost()}元");; } }
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()); }
private static void RunDecorateTest() { Console.WriteLine("Decorate"); Beverage beverage = new Water(); Console.WriteLine("beverage Cost:{0}", beverage.Cost()); Beverage milk = new Milk(beverage); Console.WriteLine("milk Cost:{0}", milk.Cost()); Beverage mixBeverage = new Americano(milk); Console.WriteLine("Milk And Americano Cost:{0}", mixBeverage.Cost()); }
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(); }
public void MilkClass_CostMethod_ShouldReturnCorrectPrice() { // Arrange var coffeePrice = 2.00m; var coffeeMock = new Mock <ICoffee>(); coffeeMock.Setup(x => x.Cost()).Returns(coffeePrice); var condimentPrice = 0.80m; var expectedCost = coffeePrice + condimentPrice; // Act var obj = new Milk(coffeeMock.Object); // Assert Assert.That(obj.Cost(), Is.EqualTo(expectedCost)); }
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(); }