コード例 #1
0
        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);
        }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
        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();
        }