public void Test_33E_MMRMMRMRRM_Rover_Movement() { // Arrange var roverPositions = new List <DeployedRover>(); var roverFinalPositions = new List <RoverFinalPosition>(); var roverPosition = new DeployedRover() { RoverCoordinates = new Coordinates() { X = 3, Y = 3 }, RoverOrientation = "E", MovementInstructions = "MMRMMRMRRM" }; roverPositions.Add(roverPosition); var request = new MarsRoverRequest() { MaxCoordinates = new Coordinates() { X = 5, Y = 5 }, RoverPositions = roverPositions }; var roverFinalPosition = new RoverFinalPosition() { RoverCoordinates = new Coordinates() { X = 5, Y = 1 }, RoverOrientation = "E" }; roverFinalPositions.Add(roverFinalPosition); var expectedResponse = new MarsRoverResponse() { FinalRoverPositions = roverFinalPositions }; MarsRoverServiceMock.Setup(x => x.MoveAllRovers(request)) .Returns(expectedResponse); // Act var result = ControllerUnderTest.MoveRovers(request); // Assert var okResult = Assert.IsType <OkObjectResult>(result); Assert.Same(expectedResponse, okResult.Value); }
private MarsRoverResponse SaveFinalPosition(Rover _outputRoverRover, MarsRoverResponse output) { var finalPosition = new RoverFinalPosition(); finalPosition.RoverCoordinates.X = _outputRoverRover.X; finalPosition.RoverCoordinates.Y = _outputRoverRover.Y; finalPosition.RoverOrientation = directionDictionary[_outputRoverRover.RoverOrientation]; output.FinalRoverPositions.Add(finalPosition); return(output); }