public void CondimentDecorator_DecoratesCorrectly() { IBeverage coffee = new SimpleCoffee(); ICondimentDecorator order = new Whip(coffee); Assert.AreEqual("Simple Black Coffee + Whip", order.Description); }
static void Main(string[] args) { //LargePizza largePizza = new LargePizza(); Pizza largePizza = new LargePizza(); largePizza = new Cheese(largePizza); largePizza = new Ham(largePizza); largePizza = new Peppers(largePizza); //Console.WriteLine(largePizza.Description); Console.WriteLine(largePizza.GetDescription()); Console.WriteLine("{0:C2}", largePizza.CalculateCost()); Console.ReadKey(); Console.WriteLine(); Beverage coffee = new Espresso(); coffee = new Mocha(coffee); coffee = new Mocha(coffee); coffee = new Whip(coffee); Console.WriteLine(coffee.GetDescription()); Console.WriteLine("{0:C2}", coffee.Cost()); Console.ReadKey(); }
static void Main(string[] args) { //Основы кофе для декорации Bevegare bevegare = new Espresso(); Bevegare bevegare1 = new DarkRoast(); Bevegare bevegare2 = new Decaf(); Bevegare bevegare3 = new HouseBlind(); Console.WriteLine($"{bevegare.description} UAH {bevegare.cost()}"); Console.WriteLine($"{bevegare1.description} UAH {bevegare1.cost()}"); Console.WriteLine($"{bevegare2.description} UAH {bevegare2.cost()}"); Console.WriteLine($"{bevegare3.description} UAH {bevegare3.cost()}"); Console.WriteLine(new string('-', 50)); //Decorators coffee Chocolate chocolate = new Chocolate(); Milk milk = new Milk(); Mocha mocha = new Mocha(); Whip whip = new Whip(); //Decorator with coffee chocolate.SetComponent(bevegare); milk.SetComponent(chocolate); mocha.SetComponent(milk); whip.SetComponent(mocha); //Display in screen Console.WriteLine($"{chocolate.GetDescription()} UAH {chocolate.cost()}"); Console.WriteLine($"{milk.GetDescription()} UAH {milk.cost()}"); Console.WriteLine($"{mocha.GetDescription()} UAH {mocha.cost()}"); Console.WriteLine($"{whip.GetDescription()} UAH {whip.cost()}"); Console.ReadLine(); }
static void Main(string[] args) { Beverage beverage = new Expresso(); Console.WriteLine(beverage.GetDescription() + " R$" + beverage.Cost()); Console.WriteLine(); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.GetDescription() + " R$" + beverage2.Cost()); Console.WriteLine(); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3.GetDescription() + " R$" + beverage3.Cost()); Console.WriteLine(); Console.ReadKey(); }
static void Main(string[] args) { var view = new ConsoleView(); var beverages = BeverageProvider.GetBeverages(); // create beverage var beverage = beverages.Take(1).FirstOrDefault(); // add CondimentDecorators // add Mocha beverage = new Mocha(beverage) { Cost = .60M }; beverage = new Mocha(beverage) { Cost = .60M }; // add Soy beverage = new Soy(beverage) { Cost = .40M }; // add Whip beverage = new Whip(beverage) { Cost = .45M }; view.Show(beverage); }
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(); }
// Use this for initialization void Start() { anim = GetComponent <Animator>(); rbody = GetComponent <Rigidbody2D>(); sRenderer = GetComponent <SpriteRenderer>(); scale = transform.localScale.x; whip = GetComponent <Whip>(); whip.enabled = false; if (indy == null) { indy = this; } hasHammer = false; hammer.gameObject.SetActive(hasHammer); gun.gameObject.SetActive(false); jetpackAnim = jetpack.GetComponent <Animator>(); jetpack.SetActive(false); moneyText.enabled = true; }
/// <summary> /// # Motivation /// I can now attach responsibilities to an object dynamically to add behaviour at runtime. /// /// # Structure /// Beverage /// --> base class so all objects are of same type /// CondimentDecorator : Bevarage /// --> interchangeable with Beverage /// /// # Sample Problem /// A coffee shop wants to make an ordering system for all their drinks. Ofcourse there are a lot of combination with condiments/roasts. /// We could create a base class and let all possible combinations inherit from the superclass and override their behaviour, but that would quickly become a mess. /// /// # Solution /// By creating a Decorator class which inherits from the baseclass (to effectively swap between types), I can now dynamically create composite objects at runtime. /// To add a drink to the system: /// 1. inherit from the base class, set instance fields in constructor /// 2. override the 'Cost()' method to return desired cost /// To add a condiment to the system: /// 1. inherit from 'CondimentDecorator' (indirectly from base class as well /// 2. add instance field from type Beverage /// 3. initialize in constructor /// 4. override GetDescription() and Cost() accordingly /// To create a composite object at runtime: /// 1. Create a new instance of a drink (Beverage) /// 2. To add a condiment, assign the instance to a new instance of the condiment with itself as param /// A. Beverage darkRoast = new DarkRoast(); /// B. darkRoast = new Mocha(darkRoast); /// </summary> public void Test() { Beverage beverage = new Espresso(); Console.WriteLine($"{beverage.GetDescription()} ${beverage.Cost()}"); Beverage beverage1 = new DarkRoast(); beverage1 = new Mocha(beverage1); Console.WriteLine($"{beverage1.GetDescription()} ${beverage1.Cost()}"); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); Console.WriteLine($"{beverage2.GetDescription()} ${beverage2.Cost()}"); beverage2 = new Mocha(beverage2); Console.WriteLine($"{beverage2.GetDescription()} ${beverage2.Cost()}"); beverage2 = new Whip(beverage2); Console.WriteLine($"{beverage2.GetDescription()} ${beverage2.Cost()}"); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine($"{beverage3.GetDescription()} ${beverage3.Cost()}"); }
static void Main(string[] args) { Beverage beverage = new Expresso(); Console.WriteLine("Beverage #1: " + beverage.getDescription() + " $" + beverage.cost()); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine("\nBeverage #2: " + beverage2.getDescription() + " $" + beverage2.cost()); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine("\nBeverage #3: " + beverage3.getDescription() + " $" + beverage3.cost()); //keep window open Console.ReadLine(); }
static void Main(string[] args) { Beverage beverage1 = new Espresso(); Console.WriteLine(beverage1); Beverage beverage1Small = new Espresso(); beverage1Small.SetSize(CupSize.Small); Console.WriteLine(beverage1Small); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3); Beverage beverage3Big = new HouseBlend(CupSize.Big); beverage3Big = new Soy(beverage3Big); beverage3Big = new Mocha(beverage3Big); beverage3Big = new Whip(beverage3Big); Console.WriteLine(beverage3Big); }
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 void RunDecoratorPatternExample() { Beverage beverage = new Espresso(); beverage = new Whip(beverage).GetBeverage; beverage = new Mocha(beverage).GetBeverage; DisplayInfoAboutBeverageInListBox(beverage); }
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 TestDecaf() { Beverage beverage = new Decaf(); beverage = new Mocha(beverage); beverage = new Whip(beverage); Assert.AreEqual("Decaf Coffee, Mocha, Whip $1.35", beverage.GetDescription() + " $" + beverage.Cost()); }
static void Main(string[] args) { Beverage beverage1 = new DarkRoast(); beverage1 = new Milk(beverage1); beverage1 = new Whip(beverage1); Console.WriteLine("Total Price: {0}, Description: {1}", beverage1.Cost(), beverage1.GetDescription); }
public void HouseBlendWithSoyWithMochaWithWhip() { Beverage beverage = new HouseBlend(); beverage = new Soy(beverage); beverage = new Mocha(beverage); beverage = new Whip(beverage); Assert.AreEqual(1.34, beverage.Cost(),DELTA); }
static void TestDecorator() { IBeverage beverage = new Espresso(); beverage = new Mocha(beverage); beverage = new Mocha(beverage); beverage = new Whip(beverage); Console.WriteLine($"Cost:{{{beverage.GetCost()}}}"); Console.WriteLine($"Order details: {beverage.GetName()}"); }
public void DarkRoastMochaWithWhip() { IBeverage roast = new DarkRoast(BeverageSize.Large); roast = new Mocha(roast); roast = new Whip(roast); Debug.WriteLine(roast.Description); Debug.WriteLine("Cost: " + roast.Cost); }
public void HouseBlendWithSoyWithMochaWithWhip() { Beverage beverage = new HouseBlend(); beverage = new Soy(beverage); beverage = new Mocha(beverage); beverage = new Whip(beverage); Assert.AreEqual(1.34, beverage.Cost(), DELTA); }
public void ShowPattern() { Beverage beverage1 = new Espresso(); beverage1 = new Mocha(beverage1); beverage1 = new Mocha(beverage1); beverage1 = new Whip(beverage1); var desc = beverage1.GetDescription(); var total = beverage1.Cost(); }
public static void Run() { Beverage beverage = new Espresso(); Console.WriteLine(beverage.description + " $" + beverage.cost()); Console.WriteLine(); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.description + " $" + beverage2.cost()); Console.WriteLine(); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3.description + " $" + beverage3.cost()); Console.WriteLine(); Beverage beverage4 = new HouseBlend(); beverage4.size = Beverage.Size.GRANDE; Console.WriteLine("Setting size to: {0}", beverage4.size); beverage4 = new Soy(beverage4); beverage4 = new Mocha(beverage4); beverage4 = new Whip(beverage4); Console.WriteLine(beverage4.description + " $" + beverage4.cost()); Console.WriteLine(); Beverage beverage5 = new HouseBlend(); beverage5.size = Beverage.Size.TALL; Console.WriteLine("Setting size to: {0}", beverage5.size); beverage5 = new Soy(beverage5); beverage5 = new Mocha(beverage5); beverage5 = new Whip(beverage5); Console.WriteLine(beverage5.description + " $" + beverage5.cost()); Console.WriteLine(); Beverage beverage6 = new HouseBlend(); beverage6.size = Beverage.Size.VENTI; Console.WriteLine("Setting size to: {0}", beverage6.size); beverage6 = new Soy(beverage6); beverage6 = new Mocha(beverage6); beverage6 = new Whip(beverage6); Console.WriteLine(beverage6.description + " $" + beverage6.cost()); Console.WriteLine(); Console.ReadKey(); }
public void Test() { DarkRoast darkRoast = new DarkRoast(); Milk milk = new Milk(darkRoast); Mocha mocha = new Mocha(milk); Soy soy = new Soy(mocha); Whip whip = new Whip(soy); Assert.Equal("Dark Roast, Milk, Mocha, Soy, Whip", whip.GetDescription()); }
public void HouseBlendSoyMochaWhip() { IBeverage houseBlend = new HouseBlend(BeverageSize.Small); houseBlend = new Soy(houseBlend); houseBlend = new Whip(houseBlend); houseBlend = new Mocha(houseBlend); Debug.WriteLine(houseBlend.Description); Debug.WriteLine("Cost: " + houseBlend.Cost); }
private static void RunDecoratorPattern() { Beverage beverage = new Espresso(); Console.WriteLine($"{beverage.GetDescription()} ${beverage.Cost()}"); Beverage beverage1 = new HouseBlend(); beverage1 = new Mocha(beverage1); beverage1 = new Mocha(beverage1); beverage1 = new Whip(beverage1); Console.WriteLine($"{beverage1.GetDescription()} ${beverage1.Cost()}"); }
static void Main(string[] args) { Beverage beverage = new Expresso(Size.Grande); Console.WriteLine(beverage.GetDescription() + " | " + beverage.Cost()); Beverage beverage2 = new Expresso(Size.Grande); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.GetDescription() + " | " + beverage2.Cost()); }
public void DoubleMochaSoyLatteWithWhip() { IBeverage houseBlend = new HouseBlend(BeverageSize.Medium); houseBlend = new Soy(houseBlend); houseBlend = new Whip(houseBlend); houseBlend = new Mocha(houseBlend); houseBlend = new Mocha(houseBlend); Debug.WriteLine(houseBlend.Description); Debug.WriteLine("Cost: " + houseBlend.Cost); }
public void EspressoWithWhipPriceTest() { //Arrange Beverage bev = new Espresso(); bev = new Whip(bev); decimal price; //Act price = bev.GetPrice(); //Assert Assert.AreEqual(price, 2.09m); }
public void HouseBlendWithWhipPriceTest() { //Arrange Beverage bev = new HouseBlend(); bev = new Whip(bev); decimal price; //Act price = bev.GetPrice(); //Assert Assert.AreEqual(price, 0.99m); }
public void StarBuzzCoffee() { Beverage espresso = new Espresso(); Console.WriteLine(espresso.GetDescription() + " $" + espresso.Cost()); Beverage houseBlend = new HouseBlend(); houseBlend = new Soy(houseBlend); houseBlend = new Mocha(houseBlend); houseBlend = new Whip(houseBlend); Console.WriteLine(houseBlend.GetDescription() + " $" + houseBlend.Cost()); }
// Use this for initialization void Start() { PlayerState = State.OnGround; jump = GetComponent <Jump>(); pms = GetComponent <PlayerMovementSmooth>(); climb = GetComponent <Climb>(); lame = GetComponent <LadderMovement>(); whip = GetComponentInChildren <Whip>(); gc = GetComponentInChildren <GroundCheck>(); playerCollider = GetComponent <BoxCollider2D>(); }
public void CondimentDecorator_DecoratesMultipleCorrectly() { string expectedOrderName = "Simple Black Coffee + Whip + Whip + Mocha + Milk + Soy"; IBeverage coffee = new SimpleCoffee(); ICondimentDecorator order = new Whip(coffee); order = new Whip(order); order = new Mocha(order); order = new Milk(order); order = new Soy(order); Assert.AreEqual(expectedOrderName, order.Description); }
static void Main(string[] args) { Beverage beverage = new Espresso(); System.Console.WriteLine(beverage.getDescription() + " $" + beverage.cost()); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); System.Console.WriteLine(beverage2.getDescription() + " $" + beverage2.cost()); }
static void Main(string[] args) { Beverage beverage = new Expresso(); Console.WriteLine("Beverage #1: "+beverage.getDescription() + " $"+ beverage.cost()); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine("\nBeverage #2: " + beverage2.getDescription() + " $" + beverage2.cost()); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine("\nBeverage #3: " + beverage3.getDescription() + " $" + beverage3.cost()); //keep window open Console.ReadLine(); }