Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }