コード例 #1
0
ファイル: Program.cs プロジェクト: zeeshanv55/DesignPatterns
        static void Main(string[] args)
        {
            var basicCar = new Car();

            Console.WriteLine($"Basic car description: {basicCar.GetDescription()}");
            Console.WriteLine($"Basic car cost: {basicCar.GetCost()}");
            Console.WriteLine();

            var mattePaintCar = new MattePaint(new Car());

            Console.WriteLine($"Matte paint car description: {mattePaintCar.GetDescription()}");
            Console.WriteLine($"Matte paint car cost: {mattePaintCar.GetCost()}");
            Console.WriteLine();

            var familyCar = new SeatCover(new ClearCoat(new Car()));

            Console.WriteLine($"Family car description: {familyCar.GetDescription()}");
            Console.WriteLine($"Family car car cost: {familyCar.GetCost()}");
            Console.WriteLine();

            var sportsCar = new RearSpoiler(new SeatCover(new ClearCoat(new MattePaint(new Car()))));

            Console.WriteLine($"Sports car description: {sportsCar.GetDescription()}");
            Console.WriteLine($"Sports car car cost: {sportsCar.GetCost()}");
            Console.WriteLine();

            Console.ReadKey();
        }
コード例 #2
0
        public void GetPrice_HondaCity_SingleDecorator_Test()
        {
            IVehicle         vehicle          = new HondaCity();
            VehicleDecorator vehicleDecorator = new SeatCover(vehicle);

            Assert.AreEqual(vehicleDecorator.GetPrice(), 106000);
        }
コード例 #3
0
        public void GetTotalPrice_Amaze_MultipleDecorator_Test()
        {
            IVehicle         vehicle          = new Amaze();
            VehicleDecorator vehicleDecorator = new SeatCover(vehicle);

            vehicleDecorator = new Spoiler(vehicleDecorator);
            Assert.AreEqual(vehicle.GetDescription(), "Petrol engine is 1199 cc");
            Assert.AreEqual(vehicleDecorator.GetPrice(), 211000);
        }
コード例 #4
0
        public void GetTotalPrice_HondaCity_MultipleDecorator_Test()
        {
            IVehicle         vehicle          = new HondaCity();
            VehicleDecorator vehicleDecorator = new SeatCover(vehicle);

            vehicleDecorator = new Spoiler(vehicleDecorator);
            Assert.AreEqual(vehicle.GetDescription(), "Petrol engine is 1497 cc");
            Assert.AreEqual(vehicleDecorator.GetPrice(), 111000);
        }
コード例 #5
0
        static void Main(string[] args)
        {
            IVehicle         car = new HondaCity();
            VehicleDecorator vehicleDecorator = new SeatCover(car);

            vehicleDecorator = new Spoiler(vehicleDecorator);
            Console.WriteLine("Total Price : " + vehicleDecorator.GetPrice());
            Console.ReadLine();
        }