public void Test_InitialPositionInputHandler_PositionSetCorrectly() { // Arrange var robotInput = new RobotInput(); var commandCountInputHandler = new InitialPositionInputHandler(robotInput); // Act commandCountInputHandler.ProcessInput("10 12"); // Assert Assert.AreEqual(10, robotInput.InitialPosition.X); Assert.AreEqual(12, robotInput.InitialPosition.Y); }
public void Test_AllInputHandlerConfigured_InputObjectSetCorrectly() { // Arrange var robotInput = new RobotInput(); var commandCountInputHandler = new CommandCountInputHandler(robotInput); var initialPositionInputHandler = new InitialPositionInputHandler(robotInput); var commandInputHandler = new CommandInputHandler(robotInput); commandCountInputHandler.SetNextInputHandler(initialPositionInputHandler); initialPositionInputHandler.SetNextInputHandler(commandInputHandler); // Act commandCountInputHandler.ProcessInput("2"); initialPositionInputHandler.ProcessInput("19 4"); commandInputHandler.ProcessInput("S 6"); commandInputHandler.ProcessInput("E 1"); // Assert Assert.AreEqual(2, robotInput.CommandCount); Assert.AreEqual(19, robotInput.InitialPosition.X); Assert.AreEqual(4, robotInput.InitialPosition.Y); Assert.AreEqual(2, robotInput.Commands.Count); }