Пример #1
0
            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);
            }
Пример #2
0
        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);
        }