public void TurnLeft_When_DirectionIsNorth_Then_DirectionIsWest(string definedPositions) { var positions = new PositionsDto { Positions = definedPositions }; var positionList = new Position(positions); var rover = new Rover(positionList); rover.TurnLeft(); Assert.Equal(Directions.W, rover.RoverPositionAndDirections.Direction); }
public Position(PositionsDto position) { try { var coordinates = position.Positions.Split(' '); if (coordinates.Length > 1) { int.TryParse(coordinates[0], out int x); int.TryParse(coordinates[1], out int y); XCoordinate = x; YCoordinate = y; Direction = Enum.Parse <Directions>(coordinates[2]); } } catch (Exception ex) { Console.WriteLine(ex); throw; } }
static void Main(string[] args) { Console.Write("1th Rover Position and Direction : "); var firstRoverPosition = Console.ReadLine(); Console.Write("1th Rover Directives : "); var firstRoverDirectives = Console.ReadLine(); var positions = new PositionsDto { Positions = firstRoverPosition }; var position = new Position(positions); Rover firstRover = new Rover(position); firstRover.Process(firstRoverDirectives); Console.Write("2nd Rover Position and Direction : "); var secondRoverPosition = Console.ReadLine(); Console.Write("2nd Rover Directives : "); var secondRoverDirectives = Console.ReadLine(); var positionsSecond = new PositionsDto { Positions = secondRoverPosition }; var positionSecond = new Position(positionsSecond); Rover secondRover = new Rover(positionSecond); secondRover.Process(secondRoverDirectives); Console.WriteLine("Result"); Console.WriteLine(Environment.NewLine); Console.WriteLine(firstRover.ToString()); Console.WriteLine(secondRover.ToString()); Console.WriteLine(Environment.NewLine); Console.ReadLine(); }