예제 #1
0
        private static void GetDrinkType(string drinkName, out Drink drink)
        {
            switch (drinkName)
            {
            case "Expresso":
                drink = new Expresso();
                break;

            case "Allonge":
                drink = new Allonge();
                break;

            case "Capuccino":
                drink = new Capuccino();
                break;

            case "Chocolat":
                drink = new Chocolat();
                break;

            case "The":
                drink = new The();
                break;

            default:
                drink = null;
                break;
            }
        }
예제 #2
0
        public void IngredientDecoratorTest1()
        {
            Dessert aDessert = new Waffle();

            Dessert copyOfADessert = aDessert;

            aDessert = new Chocolat(aDessert);

            Dessert bDessert = (aDessert as IngredientDecorator).RemoveIngredient(typeof(Chocolat));

            Assert.AreEqual(copyOfADessert, bDessert);
        }
예제 #3
0
        public void IngredientDecoratorTest2()
        {
            Dessert aDessert = new Waffle();

            Dessert bDessert = new Chocolat(aDessert);

            Dessert cDessert = new Chantilly(bDessert);

            Dessert dessertWithoutChocolatIngredient = (cDessert as IngredientDecorator).RemoveIngredient(typeof(Chocolat));

            //Assert.AreEqual(dessertWithoutChocolatIngredient, copyADessert);
            Assert.AreEqual((cDessert as IngredientDecorator).Component, aDessert);
        }
예제 #4
0
        public void IngredientDecoratorTest3()
        {
            Dessert aDessert = new Waffle();

            aDessert = new Chocolat(aDessert);

            Dessert cDessert = aDessert;

            aDessert = new Chantilly(aDessert);

            Dessert bDessert = (aDessert as IngredientDecorator).RemoveIngredient(typeof(Chantilly));

            Assert.AreEqual(bDessert, cDessert);
        }