public RoverService(IInstructionFactory instructionFactory, IPlateauService plateauService) { rovers = new List <Rover>(); _instructionFactory = instructionFactory; _plateauService = plateauService; }
#pragma warning restore xUnit1010 // The value is not convertible to the method parameter type public void RotateLeftCommand_ValidPlateauValidRoverAndValidInstructions_ShouldBeEqualGivenResult(int width, int height, int xPosition, int yPosition, Directions direction, Directions result) { _plateauService = new PlateauService(); _roverService = new RoverService(_explorationFactoryMock); BaseModels <PlateauModel> basePlateauModel = _plateauService.Create(width, height); basePlateauModel.Data.Width.Should().Equals(width); basePlateauModel.Data.Height.Should().Equals(height); RoverLocationModel roverLocation = new RoverLocationModel() { Direction = direction, XPosition = xPosition, YPosition = yPosition }; BaseModels <RoverModel> baseRoverModel = _roverService.Initalize(basePlateauModel.Data, roverLocation); _explorationCommandMock = new RotateLeftCommand(); _explorationCommandMock.Explore(_roverService.GetCurrentRover().Data.Location); _roverService.GetCurrentRover().Data.Location.Direction.Should().Be(result); Console.WriteLine(result); Console.ReadLine(); }
public CommandInvoker(IPlateauService plateauService, IMarsRoverService marsRoverService, ILogger <CommandInvoker> logger, IDirectionManagerStrategy directionManagerStrategy) { _plateauService = plateauService; _marsRoverService = marsRoverService; _logger = logger; _directionManagerStrategy = directionManagerStrategy; }
static void Main(string[] args) { ServiceProvider serviceProvider = new ServiceCollection() .AddSingleton <IExplorationFactory, ExplorationFactory>() .AddSingleton <IExplorationCommand, RotateRightCommand>() .AddSingleton <IExplorationCommand, RotateLeftCommand>() .AddSingleton <IExplorationCommand, MoveForwardCommand>() .AddSingleton <IPlateauService, PlateauService>() .AddSingleton <IRoverService, RoverService>() .AddSingleton <IInstructionService, InstructionService>() .BuildServiceProvider(); IPlateauService plateauService = serviceProvider.GetService <IPlateauService>(); IRoverService roverService = serviceProvider.GetService <IRoverService>(); IInstructionService instructionService = serviceProvider.GetService <IInstructionService>(); List <RoverModel> rovers = new List <RoverModel>(); BaseModels <PlateauModel> basePlateauModel = plateauService.Create(5, 5); Console.WriteLine("5 5"); RoverLocationModel firstRoverLocation = new RoverLocationModel() { XPosition = 1, YPosition = 2, Direction = Directions.North }; Console.WriteLine("1 2 N"); BaseModels <RoverModel> baseRoverModel = roverService.Initalize(basePlateauModel.Data, firstRoverLocation); rovers.Add(baseRoverModel.Data); Console.WriteLine("LMLMLMLMM"); BaseModels <List <Instruction> > baseInstructionModel = instructionService.GetInstructions("LMLMLMLMM"); foreach (Instruction instruction in baseInstructionModel.Data) { roverService.ExplorePlateau(instruction); } Console.WriteLine("3 3 E"); RoverLocationModel secondRoverLocation = new RoverLocationModel() { XPosition = 3, YPosition = 3, Direction = Directions.East }; baseRoverModel = roverService.Initalize(basePlateauModel.Data, secondRoverLocation); rovers.Add(baseRoverModel.Data); Console.WriteLine("MMRMMRMRRM"); baseInstructionModel = instructionService.GetInstructions("MMRMMRMRRM"); foreach (Instruction instruction in baseInstructionModel.Data) { roverService.ExplorePlateau(instruction); } Console.ReadLine(); }
public CreateMarsRoverCommand(IMarsRoverService marsRoverService, IPlateauService plateauService, int x, int y, Direction direction) { _marsRoverService = marsRoverService; _x = x; _y = y; _direction = direction; _plateauService = plateauService; }
public CreateRoverCommand(IRoverService roverService, IPlateauService plateauService, int x, int y, Direction direction) { _roverService = roverService; _x = x; _y = y; _direction = direction; _plateauService = plateauService; }
public MarsRoverApplication(IRoverService roverService, IPlateauService plateauService , INavigationService navigationService, ILogger <MarsRoverApplication> logger) { _roverService = roverService; _plateauService = plateauService; _navigationService = navigationService; _logger = logger; }
public RoverConsole(IRoverDeploymentService roverDeploymentService, IRoverMovementService roverMovementService, IPlateauService plateauService) { _roverDeploymentService = roverDeploymentService; _roverMovementService = roverMovementService; _plateauService = plateauService; }
public RoverService(IPlateauService plateauService, ICoordinateService coordinateService) { _plateauService = plateauService; _coordinateService = coordinateService; CurrentRover = new Rover( coordinate: _coordinateService.Coordinate, direction: _coordinateService.Direction, plateau: _plateauService.Plateau); }
public RoverController(IInputProviderService inputProviderService, IInputModelAssembler inputModelAssembler, IPlateauService plateauService, IRoverService roverService) { _inputProviderService = inputProviderService; _inputModelAssembler = inputModelAssembler; _plateauService = plateauService; _roverService = roverService; }
public PlateauServiceFixture() { _plateauServiceMock = new Mock <IPlateauService>(); _plateauService = new PlateauService(); _plateauPosition = new Position { X = 5, Y = 5 }; _plateauService.SetPlateauPosition(_plateauPosition); }
public void Setup() { var fix = new PlateauModel { Height = 5, Width = 5 }; var mockPlateauService = new Mock <IPlateauService>(); mockPlateauService.Setup(x => x.GetPlateau()).Returns(fix); plateauService = mockPlateauService.Object; }
public OperationService ( ICalculateService calculateService, IRoverService roverService, IPlateauService plateauService, ILogger <OperationService> logger ) { _calculateService = calculateService; _roverService = roverService; _plateauService = plateauService; _logger = logger; }
public CommandInvoker(IPlateauService plateauService, IRoverService roverService, ILogger <CommandInvoker> logger, IDirectionService directionService) { _plateauService = plateauService; _roverService = roverService; _logger = logger; _directionService = directionService; _commandTypeDictionary = new Dictionary <string, CommandType> { { @"^\d+ \d+$", CommandType.CreatePlateauCommand }, { @"^\d+ \d+ [NSEW]$", CommandType.CreateMarsRoverCommand }, { @"^[LMR]+$", CommandType.MoveRoverCommand } }; }
public void CreateMarsRover(RoverPositionModel roverPositionModel, IPlateauService plateauService) { var plateauModel = plateauService.GetCurrentPlateau(); if (!IsValid(roverPositionModel, plateauModel)) { var exception = new ValidateMarsRoverPositionException(); _logger.LogError(exception.Message); throw exception; } _roverPositionModel = new RoverPositionModel { X = roverPositionModel.X, Y = roverPositionModel.Y, Direction = roverPositionModel.Direction }; plateauService.AddMarsRover(_roverPositionModel); _logger.LogInformation($"Created Mars Rover {_roverPositionModel.X}x{_roverPositionModel.Y} - {_roverPositionModel.Direction}."); }
public RoverDeploymentService(IPlateauService plateauService) { _plateauService = plateauService; }
public RoverMovementService(IPlateauService plateauService) { _plateauService = plateauService; }
public CreatePlateauCommand(IPlateauService plateauService, int width, int height) { _plateauService = plateauService; _width = width; _height = height; }
public RoverService(IRoverCommandService roverCommandService, IPlateauService plateauService) { _roverCommandService = roverCommandService; _plateauService = plateauService; }
public void Setup() { plateauService = new PlateauService(); }
public MarsRoverController(ILogger <MarsRoverController> logger, IPlateauService plateauService, IRoverService roverService) : base(logger) { _logger = logger; _plateauService = plateauService; _roverService = roverService; }