Esempio n. 1
0
        public void ShouldGetRoverStartPosition()
        {
            var coordinates = new RoverCoordinates(0, 0);

            var grid = new int[3, 3];

            var plutoRover = new PlutoRover(coordinates, Direction.N, grid);

            var roverPosition = plutoRover.Execute(string.Empty);

            roverPosition.Should().Be("0,0,N");
        }
Esempio n. 2
0
        public void RoverSpinLeft(int x, int y, Direction direction, string command, string expectedResult)
        {
            //Given
            var coordinates = new RoverCoordinates(x, y);

            var grid = new int[3, 3];

            var plutoRover = new PlutoRover(coordinates, direction, grid);

            //When
            var roverPosition = plutoRover.Execute(command);

            //Then
            roverPosition.Should().Be(expectedResult);
        }
Esempio n. 3
0
        public void DoNotMoveRoverBackwardWhenObstacleExists(int x, int y, Direction direction, string command, string expectedResult)
        {
            //Given
            var coordinates = new RoverCoordinates(x, y);

            var grid = new int[3, 3];

            var obstacles = new List <RoverCoordinates>
            {
                new RoverCoordinates(0, 1)
            };

            var plutoRover = new PlutoRover(coordinates, direction, grid, obstacles);

            //When
            var roverPosition = plutoRover.Execute(command);

            //Then
            roverPosition.Should().Be(expectedResult);
        }