static void CommandTester() { #region sample 1 // Create receiver, command, and invoker var receiver = new Receiver(); var command = new SampleConcreteCommand(receiver); var invoker = new Invoker(); // Set and execute command invoker.SetCommand(command); invoker.ExecuteCommand(); #endregion #region sample 2 // Create user and let her compute var user = new User(); // User presses calculator buttons user.Compute('+', 100); user.Compute('-', 50); user.Compute('*', 10); user.Compute('/', 2); // Undo 4 commands user.Undo(4); // Redo 3 commands user.Redo(3); #endregion }
public static void TestCommands() { SampleCommand command = new SampleConcreteCommand(new Receiver()); var invoker = new Invoker(); invoker.SetCommand(command); StringAssert.AreEqualIgnoringCase(invoker.ExecuteCommand(true), "Called Receiver.Action()"); }