Пример #1
0
        public void AddDefense(Vehicle car, Defense defense)
        {
            var carDecorator = new VehicleDecorator(car);

            switch (defense)
            {
            case Defense.Armor:
                carDecorator = new ArmorDecorator(carDecorator);
                break;

            case Defense.Gloves:
                carDecorator = new GlovesDecorator(carDecorator);
                break;

            case Defense.Helmet:
                carDecorator = new HelmetDecorator(carDecorator);
                break;

            case Defense.Shield:
                carDecorator = new ShieldDecorator(carDecorator);
                break;
            }

            Console.WriteLine($"Def: {carDecorator.GetDef()}");
        }
Пример #2
0
        public void GlovesBowDecoratorTest()
        {
            VehicleDecorator planeDecorator = new GlovesDecorator(new Plane());

            planeDecorator = new BowDecorator(planeDecorator);

            Assert.AreEqual(2, planeDecorator.GetDef());
            Assert.AreEqual(8, planeDecorator.GetAtt());
        }