private Board BuildBoard(string command) { var boardParameters = command.Split(' '); var height = CoordinatesValidator.Parse(boardParameters[1]) + 1; var width = CoordinatesValidator.Parse(boardParameters[0]) + 1; return(new Board(height, width)); }
public Robot BuildRobot(string command) { var robotParameters = command.Split(' '); var positionX = CoordinatesValidator.Parse(robotParameters[0]); var positionY = CoordinatesValidator.Parse(robotParameters[1]); var orientation = robotParameters[2]; var cardinalEngine = Cardinal.GetAllCardinalEngines().FirstOrDefault(carEngine => carEngine.CardinalDirection == orientation); if (cardinalEngine == null) { throw new IllegalInputException("Incorrect robot position command it should have following format: 1 2 N"); } return(new Robot(new Position(positionX, positionY), cardinalEngine)); }