public void IgonreInvalidValues() { RobotCommandParser parser = new RobotCommandParser(); string[] commands = { "Place 0,4,East", "Move", "Invalid", "Move", "Right", "Move", "Move", "Invalid", "Left", "Left", "Move", "Move", "Report" }; string[] results = parser.Process(commands); Assert.AreEqual(results.Length, 1); string finalResult = results.First(); Assert.AreEqual(finalResult, "2,4,North"); }
public void HandlesNullInput() { var subject = new RobotCommandParser(); var result = subject.TryParse(null, out var command); Assert.False(result); Assert.Null(command); }
public void HandlesInvalidOrientation() { var subject = new RobotCommandParser(); var result = subject.TryParse("PLACE 10 10 DOWN", out var command); Assert.False(result); Assert.Null(command); }
public void CanParseValidCommand(string input) { var subject = new RobotCommandParser(); var result = subject.TryParse(input, out var command); Assert.True(result); Assert.NotNull(command); }
static void Main(string[] args) { var results = new RobotCommandParser().Process(args); foreach (string result in results) { Console.WriteLine(result); } Console.ReadLine(); }
public void ReportOnlyIfRobotIsPlaced() { RobotCommandParser parser = new RobotCommandParser(); string[] commands = { "Report", "Place 0,4,East", "Move", "Report" }; string[] results = parser.Process(commands); Assert.AreEqual(results.Length, 1); }
public void TransmitAllValidCommandsAndGetFinalPosition() { RobotCommandParser parser = new RobotCommandParser(); string[] commands = { "Place 0,4,East", "Move", "Move", "Right", "Move", "Move", "Left", "Left", "Move", "Move", "Report" }; string[] results = parser.Process(commands); Assert.AreEqual(results.Length, 1); string finalResult = results.First(); Assert.AreEqual(finalResult, "2,4,North"); }
public void ReportMoreThanOnce() { RobotCommandParser parser = new RobotCommandParser(); string[] commands = { "Place 0,4,East", "Move", "Report", "Move", "Right", "Move", "Move", "Left", "Left", "Move", "Move", "Report" }; string[] results = parser.Process(commands); Assert.AreEqual(results.Length, 2); Assert.AreEqual(results[0], "1,4,East"); Assert.AreEqual(results[1], "2,4,North"); }
public RobotCommandParserTests() { _parser = new RobotCommandParser(); }