Example #1
0
        static void RemoteControlTestMacro()
        {
            RemoteControl remoteControl = new RemoteControl();

            Light                 livingRoomLight    = new Light("Living Room");
            CeilingFan            ceilingFan         = new CeilingFan("Living Room");
            Stereo                stereo             = new Stereo("Living Room");
            LightOnCommand        livingRoomLightOn  = new LightOnCommand(livingRoomLight);
            LightOffCommand       livingRoomLightOff = new LightOffCommand(livingRoomLight);
            CeilingFanHighCommand ceilingFanOn       = new CeilingFanHighCommand(ceilingFan);
            CeilingFanOffCommand  ceilingFanOff      = new CeilingFanOffCommand(ceilingFan);
            StereoOnWithCdCommand stereoOnWithCd     = new StereoOnWithCdCommand(stereo);
            StereoOffCommand      stereoOff          = new StereoOffCommand(stereo);

            ICommand[] partyOn  = { livingRoomLightOn, ceilingFanOn, stereoOnWithCd };
            ICommand[] partyOff = { livingRoomLightOff, ceilingFanOff, stereoOff };

            MacroCommand partyOnMacro  = new MacroCommand(partyOn);
            MacroCommand partyOffMacro = new MacroCommand(partyOff);

            remoteControl.SetCommand(0, partyOnMacro, partyOffMacro);

            Console.WriteLine(remoteControl);

            remoteControl.OnButtonWasPushed(0);
            remoteControl.UndoButtonWasPushed();
            Console.WriteLine(remoteControl);

            remoteControl.OnButtonWasPushed(0);
            remoteControl.OffButtonWasPushed(0);
            Console.WriteLine(remoteControl);
        }
Example #2
0
        static void Main(string[] args)
        {
            var remoteControl = new Controllers.RemoteControl();

            var livingRoonLight = new Light("Living Room");
            var television      = new Television("Living Room");
            var stereo          = new Stereo("Living Room");
            var hotTub          = new HotTub();

            var lightOn  = new LightOnCommand(livingRoonLight);
            var lightOff = new LightOffCommand(livingRoonLight);

            var televisionOn  = new TelevisionOnCommand(television);
            var televisionOff = new TelevisionOffCommand(television);

            var stereoOn  = new StereoOnCommand(stereo);
            var stereoOff = new StereoOffCommand(stereo);

            var hotTubOn  = new HotTubOnCommand(hotTub);
            var hotTubOff = new HotTubOffCommand(hotTub);

            var partyOn  = new ICommand[] { lightOn, stereoOn, televisionOn, hotTubOn };
            var partyOff = new ICommand[] { lightOff, stereoOff, televisionOff, hotTubOff };

            var partyMacroOn  = new MacroCommand(partyOn);
            var partyMacroOff = new MacroCommand(partyOff);

            remoteControl.SetCommand(0, partyMacroOn, partyMacroOff);

            Console.WriteLine(remoteControl);
            Console.WriteLine("----------Push Macro On----------");
            remoteControl.OnButtonWasPressed(0);
            Console.WriteLine("----------Push Macro Off---------");
            remoteControl.OffButtonWasPressed(0);

            Console.ReadLine();
        }
Example #3
0
        static void Main(string[] args)
        {
            SimpleRemoteControl control = new SimpleRemoteControl();

            // Объекты
            Garage     garage     = new Garage();
            Stereo     stereo     = new Stereo();
            CeilingFan ceilingFan = new CeilingFan("BedRoom");

            // Команды над объектами
            GarageDoorOpenCommand  garageDoorOpen  = new GarageDoorOpenCommand(garage);
            GarageDoorCloseCommand garageDoorClose = new GarageDoorCloseCommand(garage);

            CeilingFanHighCommand   ceilingFanHigh   = new CeilingFanHighCommand(ceilingFan);
            CeilingFanMediumCommand ceilingFanMedium = new CeilingFanMediumCommand(ceilingFan);
            CeilingFanOffCommand    ceilingFanOff    = new CeilingFanOffCommand(ceilingFan);

            StereoOnWithCDCommand stereoOnWithCD = new StereoOnWithCDCommand(stereo);
            StereoOffCommand      stereoOff      = new StereoOffCommand(stereo);

            // Запоминаем кнопки на пульте
            control.SetCommands(0, garageDoorOpen, garageDoorClose);
            control.SetCommands(1, stereoOnWithCD, stereoOff);
            control.SetCommands(2, ceilingFanMedium, ceilingFanOff);
            control.SetCommands(3, ceilingFanHigh, ceilingFanOff);

            control.OnButtonWasPressed(0);
            Thread.Sleep(1000);
            control.OnButtonWasPressed(1);
            Console.WriteLine("Играет музыка");
            Thread.Sleep(2500);
            control.undoButtonWasPushed();
            Thread.Sleep(1000);
            control.OffButtonWasPressed(0);
            Thread.Sleep(1000);
            control.OnButtonWasPressed(2);
            Thread.Sleep(1000);
            control.OffButtonWasPressed(2);
            Thread.Sleep(1000);
            control.undoButtonWasPushed();
            Thread.Sleep(1000);
            control.OnButtonWasPressed(3);
            Thread.Sleep(1000);
            control.OffButtonWasPressed(3);
            Thread.Sleep(1000);

            Console.WriteLine("---Часть 3---");
            Light           light    = new Light();
            LightOnCommand  lightOn  = new LightOnCommand(light);
            LightOffCommand lightOff = new LightOffCommand(light);

            ICommand[] _partyOn  = { garageDoorOpen, lightOn, stereoOnWithCD };
            ICommand[] _partyOff = { garageDoorClose, lightOff, stereoOff };

            MacroCommand macroCommandOn  = new MacroCommand(_partyOn);
            MacroCommand macroCommandOff = new MacroCommand(_partyOff);

            control.SetCommands(4, macroCommandOn, macroCommandOff);
            control.OnButtonWasPressed(4);
            Console.WriteLine("Вырубание");
            control.OffButtonWasPressed(4);
        }