Example #1
0
        public void test_cars()
        {
            {
                BMWCar bmwCar = new BMWCar();

                DieselCarDecorator carWithDieselEngine = new DieselCarDecorator(bmwCar);
                carWithDieselEngine.ManufactureCar();

                Assert.That(bmwCar.CarBody == "carbon fiber material");
                Assert.That(bmwCar.CarDoor == "4 car doors");
                Assert.That(bmwCar.CarWheels == "6 car glasses");
                Assert.That(bmwCar.CarGlass == "4 MRF wheels");

                Assert.That(bmwCar.Engine == EngineType.Diesel);
            }


            {
                MercedesCar merCar = new MercedesCar();

                PetrolCarDecorator carWithDieselEngine = new PetrolCarDecorator(merCar);
                carWithDieselEngine.ManufactureCar();

                Assert.That(merCar.CarBody == "carbon fiber material");
                Assert.That(merCar.CarDoor == "2 car doors");
                Assert.That(merCar.CarWheels == "4 car glasses");
                Assert.That(merCar.CarGlass == "4 MRF wheels");

                Assert.That(merCar.Engine == EngineType.Petrol);
            }
        }
        public void Manufacture_ShouldRetuen_DetailsOfCar()
        {
            ICar bmwCar1 = new BMWCar();
            DieselCarDecorator carWithDieselEngine = new DieselCarDecorator(bmwCar1);
            string             str  = carWithDieselEngine.ManufactureCar().ToString();
            string             temp = bmwCar1.ToString();

            Assert.Equal(str, temp);
        }
            static void Main(string[] args)
            {
                Icar bmwCar1 = new BMWCar();

                bmwCar1.ManufactureCar();
                Console.WriteLine(bmwCar1 + "\n");

                DieselCarDecorator carWithDieselEngine = new DieselCarDecorator(bmwCar1);

                carWithDieselEngine.ManufactureCar();
                Console.WriteLine();

                Icar bmwCar2 = new BMWCar();

                bmwCar2.ManufactureCar();
                Console.WriteLine(bmwCar2 + "\n");

                PetrolCarDecorator carWithPetrolEngine = new PetrolCarDecorator(bmwCar2);

                carWithPetrolEngine.ManufactureCar();

                Console.ReadKey();
            }