public void WhenInputIsCorrectCallParseDimensions() { // Arrange var parser = Substitute.For <IParser>(); var systemUnderTest = new RobotWars.RobotWarsProcessor(parser); // Act systemUnderTest.Process(input); // Assert parser.Received(1).ParseDimensions("5 5"); }
public void WhenInputIsCorrectCallParsePosition() { // Arrange var parser = Substitute.For <IParser>(); parser.ParseCommands(Arg.Any <string>()).Returns(new List <ICommand>()); var systemUnderTest = new RobotWars.RobotWarsProcessor(parser); // Act systemUnderTest.Process(input); // Assert parser.Received(2).ParsePosition(Arg.Any <string>()); }
public void WhenInputIsIncorrectReturnErrorMessage() { // Arrange var parser = Substitute.For <IParser>(); parser.ParsePosition(Arg.Any <string>()).Returns(x => throw new Exception("Exception")); var systemUnderTest = new RobotWars.RobotWarsProcessor(parser); // Act var result = systemUnderTest.Process(input); // Assert result.Should().Contain("Input is not in a correct format"); }
public void TestInput() { // Arrange const string input = @"5 5 1 2 N LMLMLMLMM 3 3 E MMRMMRMRRM"; const string output = "1 3 N\n5 1 E"; var robotWars = new RobotWars.RobotWarsProcessor(new Parser()); // Act var result = robotWars.Process(input); // Assert result.Should().Be(output); }