public void ShouldMoveRoverAlongXAccessIfFacingWest()
        {
            var rover = _fixture.Build <Rover.Core.Entities.Rover>()
                        .With(x => x.RoverFacingDirection, Direction.West)
                        .Create();

            var roverActionCommand = new RoverActionCommand()
            {
                RoverAction = RoverAction.MoveForwardInTheDirectionRoverIsFacing, ActionExecutionOrder = 1
            };

            _roverActonToCoordinateTranslationService = new RoverActonToCoordinateTranslationService(new RoverActionToDirection());

            var result = _roverActonToCoordinateTranslationService.Translate(rover, roverActionCommand);

            Assert.AreEqual(Direction.West, result.FacingDirection);
            Assert.AreEqual(rover.GridPosition.X - 1, result.XCoordinate);
            Assert.AreEqual(rover.GridPosition.Y, result.YCoordinate);
        }
        public void ShouldReturnCommandForRoverToPointEastIfFacingNorthAndTurningRight()
        {
            var rover = _fixture.Build <Rover.Core.Entities.Rover>()
                        .With(x => x.RoverFacingDirection, Direction.North)
                        .Create();

            var roverActionCommand = new RoverActionCommand()
            {
                RoverAction = RoverAction.TurnRight, ActionExecutionOrder = 1
            };

            _roverActonToCoordinateTranslationService = new RoverActonToCoordinateTranslationService(new RoverActionToDirection());

            var result = _roverActonToCoordinateTranslationService.Translate(rover, roverActionCommand);

            Assert.AreEqual(Direction.East, result.FacingDirection);
            Assert.AreEqual(rover.GridPosition.X, result.XCoordinate);
            Assert.AreEqual(rover.GridPosition.Y, result.YCoordinate);
        }