public void Parse_IfNotSupportedFormat_Throws(string area) { // Arrange RectangularAreaParser sut = CreateSut(); // Act Action act = () => sut.Parse(area); // Assert act.Should().Throw <ArgumentException>() .WithMessage($"Unsupported format. (Parameter 'area')"); }
public void Parse_IfSupportedFormat_DoesNotThrow() { // Arrange string area = "1 2"; RectangularAreaParser sut = CreateSut(); // Act Action act = () => sut.Parse(area); // Assert act.Should().NotThrow(); }
public void Parse_IfAreaNotNull_DoesNotThrow() { // Arrange string area = string.Empty; RectangularAreaParser sut = CreateSut(); // Act Action act = () => sut.Parse(area); // Assert act.Should().NotThrow <ArgumentNullException>(); }
public void Parse_IfAreaNull_Throws() { // Arrange string area = null; RectangularAreaParser sut = CreateSut(); // Act Action act = () => sut.Parse(area); // Assert act.Should().Throw <ArgumentNullException>() .WithMessage($"Parameter can not be null. (Parameter 'area')"); }
public void Parse_ReturnsArea() { // Arrange string area = "1 2"; RectangularAreaParser sut = CreateSut(); // Act IArea result = sut.Parse(area); // Assert RectangularArea expectedResult = new RectangularArea(Position.Origin, new Position(1, 2)); result.Should().Be(expectedResult); }
private void Run() { var area = new RectangularAreaParser().Parse(Console.ReadLine()); var parser = new SimpleStateParser(); foreach (var item in GetInputs().ToArray()) { var state = parser.Parse(item.State); var robot = new SimpleRobot { Area = area, LastPosition = state.Position, Orientation = state.Orientation }; var commands = new SimpleCommandParser(robot).Parse(item.Commands); foreach (var command in commands) { command.Execute(); } Console.WriteLine($"{robot.LastPosition.X} {robot.LastPosition.Y} {robot.Orientation}" + $"{(robot.Status == Status.Lost ? ' ' + robot.Status.ToString() : string.Empty)}"); } }