public void Quando_eu_pressionar_o_botao_de_ligar() { //arrange var simpleRemoteControl = new SimpleRemoteControl(new List <ICommand>(7) { new LightOnCommand(new Light()), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand() }, new List <ICommand>(7) { new LightOffCommand(new Light()), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand(), new NoCommand() }, new NoCommand()); //action simpleRemoteControl.SetCommand(0, new LightOnCommand(new Light()), new LightOffCommand(new Light())); simpleRemoteControl.OnButtonWasPressed(0); simpleRemoteControl.OffButtonWasPressed(0); }
static void Main() { var remote = new SimpleRemoteControl(); var light = new Light(); var garageDoor = new GarageDoor(); var ceilingFan = new CeilingFan(); var lightOn = new LightOnCommand(light); var lightOff = new LightOffCommand(light); var garageDoorOpen = new GarageDoorOpenCommand(garageDoor); var garageDoorClose = new GarageDoorCloseCommand(garageDoor); var ceilingFanTurnOn = new CeilingFanTurnOnHighCommand(ceilingFan); var ceilingFanTurnOff = new CeilingFanTurnOffCommand(ceilingFan); remote.SetCommand(0, lightOn, lightOff); remote.SetCommand(1, garageDoorOpen, garageDoorClose); remote.SetCommand(2, ceilingFanTurnOn, ceilingFanTurnOff); Console.WriteLine(remote); remote.OnButtonWasPressed(0); remote.OffButtonWasPressed(0); remote.OnButtonWasPressed(1); remote.OffButtonWasPressed(1); remote.OnButtonWasPressed(2); //remote.OffButtonWasPressed(2); remote.UndoButtonWasPressed(); //remote.UndoButtonWasPressed(); //remote.UndoButtonWasPressed(); Console.ReadKey(); }