public void AddWeapon(Vehicle car, Weapon weapon) { var carDecorator = new VehicleDecorator(car); switch (weapon) { case Weapon.Axe: carDecorator = new AxeDecorator(carDecorator); break; case Weapon.Bow: carDecorator = new BowDecorator(carDecorator); break; case Weapon.Gun: carDecorator = new GunDecorator(carDecorator); break; case Weapon.Knife: carDecorator = new KnifeDecorator(carDecorator); break; case Weapon.Sword: carDecorator = new SwordDecorator(carDecorator); break; } Console.WriteLine($"Att: {carDecorator.GetAtt()}"); }
public void KnifeSwordDecoratorTest() { VehicleDecorator rocketDecorator = new KnifeDecorator(new Rocket()); Assert.AreEqual(4, rocketDecorator.GetAtt()); rocketDecorator = new SwordDecorator(rocketDecorator); Assert.AreEqual(12, rocketDecorator.GetAtt()); }