示例#1
0
        public void BridgeTest()
        {
            {
                var a = new ConcreteImplementorA();
                var b = new ConcreteImplementorB();

                var ra = new RefinedAbstractionA();
                var rb = new RefinedAbstractionB();
                ra.SetImplementor(a);
                ra.Operation();

                ra.SetImplementor(b);
                ra.Operation();
            }

            {
                var black = new BlackCoffee();
                var white = new WhiteCoffee();

                var large = new LargeCupCoffee(black);
                large.Make();
                large.SetCoffee(white);
                large.Make();

                var medium = new MediumCupCoffee(black);
                medium.Make();
                medium.SetCoffee(white);
                medium.Make();
            }
        }
示例#2
0
        private static void BridgeModeTest()
        {
            MakeCoffee make          = new BlackCoffee();
            Coffee     blackmidCoffe = new MediumCupCoffee();

            blackmidCoffe.MakeCoffee = make;
            blackmidCoffe.Make();
            Console.ReadKey();
        }
示例#3
0
        public void StrengthTestBlackCoffee()
        {
            //Arrange
            var blackCoffee = new BlackCoffee();
            //Act
            string strength = blackCoffee.Strength();

            //Assert
            Assert.AreSame("Strong", strength);
        }
示例#4
0
        public void PriceTestBlackCoffee()
        {
            //Arrange
            var blackcoffee = new BlackCoffee();
            //Act
            int price = blackcoffee.Price();

            //Assert
            Assert.AreEqual(20, price);
        }
        public void TestDiscountPrice(int discount, int expectedPrice)
        {
            //Arrange
            var coffee = new BlackCoffee(discount, Coffee.SpiceBlendEnum.ESPRESSO);
            //Act
            int actualPrice = coffee.Price();

            //Assert
            Assert.AreEqual(expectedPrice, actualPrice);
        }
        public void StrengthTestForAllCoffee()
        {
            Latte       latte       = new Latte(1, CoffeeType.Akmel);
            Cortado     cortado     = new Cortado(1, CoffeeType.Akmel);
            BlackCoffee blackCoffee = new BlackCoffee(1, CoffeeType.Akmel);
            FlatWhite   flatWhite   = new FlatWhite(1, CoffeeType.Akmel);

            string strengthOfLatte       = latte.Strength();
            string strengthOfCortado     = cortado.Strength();
            string strengthOfBlackCoffee = blackCoffee.Strength();
            string strengthOfFlatWhite   = flatWhite.Strength();

            Assert.AreEqual(strengthOfLatte, "Weak");
            Assert.AreEqual(strengthOfCortado, "Medium");
            Assert.AreEqual(strengthOfBlackCoffee, "Strong");
            Assert.AreEqual(strengthOfFlatWhite, "Medium");
        }
示例#7
0
        static void Main(string[] args)
        {
            //// Structure
            //Abstraction abstraction = new RefinedAbstraction();

            //abstraction.Implementor = new ConcreteImplementorA();
            //abstraction.Operation();

            //abstraction.Implementor = new ConcreteImplementorB();
            //abstraction.Operation();


            //Practical about making coffee;
            MakeCoffee blackCoffee = new BlackCoffee();

            MakeCoffeeSingleton.MakeCoffee = blackCoffee;

            Coffee large = new LargeCupCoffee();

            large.Make();

            Coffee medium = new MediumCupCoffee();

            medium.Make();

            MakeCoffee whiteCoffeee = new WhiteCoffee();

            MakeCoffeeSingleton.MakeCoffee = whiteCoffeee;

            Coffee large1 = new LargeCupCoffee();

            large1.Make();

            Coffee medium1 = new MediumCupCoffee();

            medium1.Make();

            Console.Read();
        }
示例#8
0
 public static void CoffeePanel()
 {
     IDecorator blackCoffee = new BlackCoffee();
     ShowCoffee(blackCoffee);
     IDecorator coffee = new Coffee(blackCoffee);
     ShowCoffee(coffee);
     IDecorator chocolate = new ChoclateCoffee(coffee);
     ShowCoffee(chocolate);
     IDecorator cream = new CreamCoffee(coffee);
     ShowCoffee(cream);
     IDecorator creamAndChocolate = new CreamCoffee(chocolate);
     ShowCoffee(creamAndChocolate);
 }
示例#9
0
        public void CofeePrice()
        {
            Coffee bla = new BlackCoffee(0);

            Assert.AreEqual(20, bla.price());
        }