public void GetRoverInstructionsTest()
        {
            MarsRoverController controller = new MarsRoverController();

            var instructions = controller.GetRoverInstructions(TestInput);

            Assert.AreEqual(2, instructions.Count);

            var rover1InitialState = instructions[0].Item1;

            Assert.AreEqual(1, rover1InitialState.RoverPosition.X);

            Assert.AreEqual(2, rover1InitialState.RoverPosition.Y);

            Assert.AreEqual(Direction.N, rover1InitialState.RoverDirection);

            var rover1Moves = instructions[0].Item2;

            Assert.AreEqual("LMLMLMLMM", rover1Moves);


            var rover2InitialState = instructions[1].Item1;

            Assert.AreEqual(3, rover2InitialState.RoverPosition.X);

            Assert.AreEqual(3, rover2InitialState.RoverPosition.Y);

            Assert.AreEqual(Direction.E, rover2InitialState.RoverDirection);

            var rover2Moves = instructions[1].Item2;

            Assert.AreEqual("MMRMMRMRRM", rover2Moves);
        }
Esempio n. 2
0
        public void GivenAnObstacle_RoverStopsAndReportsLastLocation(string input, string obstacleLocation,
                                                                     string expectedOutput)
        {
            //Arrange
            var obstacle = RoverTestHelper.ConvertCoordinateStringToCoordinate(obstacleLocation);
            var grid     = new Grid(0, 10, 0, 10, obstacle);

            _roverController = new MarsRoverController(grid);

            //Act
            var result = _roverController.Execute(input);

            //Assert
            Assert.That(result, Is.EqualTo(expectedOutput));
        }
Esempio n. 3
0
 public void SetUp()
 {
     _roverController = new MarsRoverController(new Grid(0, 9, 0, 9));
 }
Esempio n. 4
0
 public MarsRoverControllerTest()
 {
     MarsRoverServiceMock = new Mock <IMarsRoverService>();
     ControllerUnderTest  = new MarsRoverController(MarsRoverServiceMock.Object);
 }