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()}"); }
public void GlovesBowDecoratorTest() { VehicleDecorator planeDecorator = new GlovesDecorator(new Plane()); planeDecorator = new BowDecorator(planeDecorator); Assert.AreEqual(2, planeDecorator.GetDef()); Assert.AreEqual(8, planeDecorator.GetAtt()); }