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 HelmetGunDecoratorTest() { VehicleDecorator droneDecorator = new HelmetDecorator(new Drone()); droneDecorator = new GunDecorator(droneDecorator); Assert.AreEqual(6, droneDecorator.GetDef()); Assert.AreEqual(10, droneDecorator.GetAtt()); }