public void BuildCarTestCase()
 {
     AbstractCar car = new Saloon(new StandardEngine(1300),
         VehicleColour.Yellow);
     VehicleBuilder builder = new CarBuilder(car);
     VehicleDirector director = new CarDirector();
     var vehicle = director.Build(builder);
     //Log
     Console.WriteLine(vehicle.ToString());
     Assert.IsInstanceOf<Saloon>(vehicle);
 }
        public void DecoratorTestCase()
        {
            IVehicle vehicle = new Saloon(new StandardEngine(1200));
            vehicle.Paint(VehicleColour.Silver);
            //add extras
            vehicle = new AirConditionedVehicle(vehicle);
            vehicle = new AlloyWheeledVehicle(vehicle);
            vehicle = new MetallicPaintedVehicle(vehicle);
            vehicle = new SatNavVehicle(vehicle);

            //Log
            Console.WriteLine(@"Price: {0:C}", vehicle.Price);
            const int totalPrice = 9100;
            Assert.AreEqual(totalPrice, vehicle.Price);
        }