public void CostShouldReturnCorrectValue() { var expectedValue = 0.99M; var expresso = new DarkRoast(); expresso.Cost().Should().Be(expectedValue); }
public void DecoratorTest() { DIServiceLocator.Current.RegisterInstance(typeof(ITextProvider)); Support.Configure(); Beverage beverage = new Espresso(); beverage = new Mocha(beverage); Assert.AreEqual(beverage.Description, "Espresso, Mocha"); Assert.AreEqual(beverage.Cost(), 2.19); Beverage beverage2 = new DarkRoast(); beverage2 = beverage2.AddComponent <Mocha>(); beverage2 = beverage2.AddComponent <Mocha>(); beverage2 = beverage2.AddComponent <Whip>(); Assert.AreEqual(beverage2.Description, "Dark Roast, Mocha, Mocha, Whip"); Assert.AreEqual(beverage2.Cost(), 1.49); Beverage beverage3 = new HouseBlend(); SupportExtensions.AddComponent <Soy>(ref beverage3); SupportExtensions.AddComponent <Mocha>(ref beverage3); SupportExtensions.AddComponent <Whip>(ref beverage3); Assert.AreEqual(beverage3.Description, "House Blend Coffee, Soy, Mocha, Whip"); Assert.AreEqual(beverage3.Cost(), 1.34); }
public void Cost_WithoutCondiments_ReturnNinetyNineCents() { var darkRoastCoffee = new DarkRoast(); var cost = darkRoastCoffee.Cost(); cost.Should().Be(0.99m); }
public void DarkRoastWithMochaWithWhipWithMilk() { DarkRoast beverage = new DarkRoast(); beverage.HasMocha = true; beverage.HasWhip = true; beverage.HasMilk = true; Assert.AreEqual(1.39, beverage.Cost(), DELTA); }
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); }
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()); }
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(); }
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(); }
public static void Start() { DIServiceLocator.Current.RegisterInstance <IPriceProvider>(new ComponentCosts()); Beverage beverage = new Espresso(); beverage = new Mocha(beverage); "{0} ${1}".P(beverage.Description, beverage.Cost()); Beverage beverage2 = new DarkRoast(); beverage2 = beverage2.AddComponent <Mocha>(); beverage2 = beverage2.AddComponent <Mocha>(); beverage2 = beverage2.AddComponent <Whip>(); "{0} ${1}".P(beverage2.Description, beverage2.Cost()); Beverage beverage3 = new HouseBlend(); SupportExtensions.AddComponent <Soy>(ref beverage3); SupportExtensions.AddComponent <Mocha>(ref beverage3); SupportExtensions.AddComponent <Whip>(ref beverage3); "{0} ${1}".P(beverage3.Description, beverage3.Cost()); }