static void Main(string[] args) { System.Console.WriteLine("Assumindo uma posição original (x,y), a aplicação irá receber vetores de coordenadas na seguinte forma:"); System.Console.WriteLine("[Direção, Intensidade], sendo que Direção pode ser N,S,L,O (Norte, Sul, Leste e Oeste) e intensidade é um inteiro."); Coordinate coordinate = new Coordinate(1, 1); CoordinateNavigator navigator = new CoordinateNavigator(coordinate); CoordinateNavigatorCommandParser parser = new CoordinateNavigatorCommandParser(); while (true) { System.Console.WriteLine($"A coordenada atual é {navigator.Coordinate.ToString()}, digite o comando [Direção, Intensidade] na linha abaixo: "); string command = System.Console.ReadLine(); try { NavigatorCommand navigatorCommand = parser.Parse(command); navigator.Navigate(navigatorCommand); } catch (Exception ex) { System.Console.WriteLine(ex.Message); } } }
public void Should_not_parse_an_invalid_navigation_command_5() { var parser = new CoordinateNavigatorCommandParser(); Action commandAction = () => parser.Parse("\n"); commandAction.Should().Throw <ArgumentException>(); }
public void Should_parse_navigation_command_4() { var parser = new CoordinateNavigatorCommandParser(); var command = parser.Parse("[S,100]"); command.Direction.Should().Be(Direction.S); command.Intensity.Should().Be(100); }