#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(); }
static void Main(string[] args) { ConfigureServices(); IRoverService roverService = _serviceProvider.GetService <IRoverService>(); Plateau plateau = new Plateau(5, 5); Position position = new Position(1, 2, Directions.N); string moves = "LMLMLMLMM"; Rover rover = new Rover { Position = position, Plateau = plateau, Moves = moves }; var result_12N = roverService.StartMoving(rover); Console.WriteLine($"{result_12N.X} {result_12N.Y} {result_12N.Direction}"); position = new Position(3, 3, Directions.E); moves = "MMRMMRMRRM"; rover = new Rover { Plateau = plateau, Position = position, Moves = moves }; var result_33E = roverService.StartMoving(rover); Console.WriteLine($"{result_33E.X} {result_33E.Y} {result_33E.Direction}"); Console.ReadLine(); }
public void Create_Rover_Get_Success() { result = new Result(); rover = new Rover(new Position(2, 2), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), result); Assert.AreEqual(result.IsSuccess, true); }
public void Create_Rover_Should_Throw_Exception() { result = new Result(); rover = new Rover(new Position(6, 2), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), result); Assert.AreEqual(result.IsSuccess, false); }
public void Setup() { roverService = new RoverService(); plateau = new Plateau(5, 5); coordinates = new Coordinates(1, 2); rover = new Rover(plateau, Domain.Enum.Direction.North, coordinates); }
public void Get_Rover_Location_Without_Commands() { result = new Result(); rover = new Rover(new Position(2, 2), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), new Result()); Assert.AreEqual(roverService.GetCurrentLocation(), "2 2 N"); }
static void Main(string[] args) { //Connect Service injector Get concrete class of service interfaces ServiceProvider serviceProvider = ServiceInjector.Register(); IRoverService roverService = serviceProvider.GetService <IRoverService>(); CommandInvoker commandInvoker = new CommandInvoker(); //Get Inputs List <string> inputs = InputGenerator.GetInputs(); //Get Rovers by sending input parameters set commands of each rover List <Rover> rovers = roverService.GetRoversByInput(inputs); //Invoke Rover Commands foreach (var rover in rovers) { foreach (var command in rover.Commands) { //Set each rover commands commandInvoker.SetCommand(command); commandInvoker.Invoke(); } } //Show Output OutputHelper(rovers); }
static void Main(string[] args) { ////servisler tanımlanıyor. ServiceProvider serviceProvider = DependencyInjection.Register(); IRoverService roverService = serviceProvider.GetService <IRoverService>(); CommandInvoker commandInvoker = new CommandInvoker(); List <string> inputs = GetInputs(); /// verilen bilgilere göre rover'lar oluşturuluyor. List <Rover> rovers = roverService.GetRovers(inputs); /// oluşan roverlar'ın komutları(sağa dön, sola dön, ilerle) set edilip hareket etmesi sağlanıyor. foreach (var rover in rovers) { foreach (var roverCommand in rover.Commands) { commandInvoker.SetCommand(roverCommand); commandInvoker.Invoke(); } } WriteOutput(rovers); }
public void Setup() { var services = ConfigureServices(); var roverCommandFactory = services.GetService <IRoverCommandFactory>(); _roverService = new RoverService(roverCommandFactory); }
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 CreateRoverCommand(IRoverService roverService, IPlateauService plateauService, int x, int y, Direction direction) { _roverService = roverService; _x = x; _y = y; _direction = direction; _plateauService = plateauService; }
public void SetUp() { _rover = new Rover(0, 0); _pluto = new Pluto(XSize, YSize); _turnOperation = new TurnOperation(); _movementOperation = new MovementOperation(); _service = new RoverService(); }
public MarsRoverApplication(IRoverService roverService, IPlateauService plateauService , INavigationService navigationService, ILogger <MarsRoverApplication> logger) { _roverService = roverService; _plateauService = plateauService; _navigationService = navigationService; _logger = logger; }
public void When_Command_Exceeds_The_Limits() { result = new Result(); rover = new Rover(new Position(3, 3), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), new Result()); roverService.Process("MMMMMMMMMMR"); Assert.AreEqual(roverService.GetCurrentLocation(), "3 5 E"); }
public void Rover_Check_Location_Success() { result = new Result(); rover = new Rover(new Position(1, 1), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), new Result()); roverService.Process("MRML"); Assert.AreEqual(roverService.GetCurrentLocation(), "2 2 N"); }
public void Second_Rover_Check_Location_Success() { result = new Result(); rover = new Rover(new Position(3, 3), Direction.E); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), new Result()); roverService.Process("MMRMMRMRRM"); Assert.AreEqual(roverService.GetCurrentLocation(), "5 1 E"); }
public MainWindow(IGridService gridService, IRoverService roverService, IGridService grid) { _gridService = gridService; _roverService = roverService; _grid = grid; _missionController = new MissionController(_roverService, _gridService); InitializeComponent(); }
public void First_Rover_Check_Location_Error() { result = new Result(); rover = new Rover(new Position(1, 2), Direction.N); roverService = new RoverService(rover, new Plateau(5, 5, new Result()), new Result()); var ex = Assert.Throws <Exception>(() => roverService.Process("LRAR")); Assert.AreEqual("Commands invalid", ex.Message); }
public RoverController(IInputProviderService inputProviderService, IInputModelAssembler inputModelAssembler, IPlateauService plateauService, IRoverService roverService) { _inputProviderService = inputProviderService; _inputModelAssembler = inputModelAssembler; _plateauService = plateauService; _roverService = roverService; }
/// <summary> /// Constructor /// </summary> public ImageDownloaderService(IRoverService roverService, Hosting.IHostingEnvironment environment, ILogger <ImageDownloaderService> logger, IFileSystem fileSystem) { _roverService = roverService ?? throw new ArgumentNullException(nameof(roverService)); _environment = environment ?? throw new ArgumentNullException(nameof(environment)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); }
static void RegisterServices() { var builder = new ContainerBuilder(); builder.RegisterType <RoverService>().As <IRoverService>().InstancePerLifetimeScope(); var container = builder.Build(); using (var newScope = container.BeginLifetimeScope()) { _roverService = newScope.Resolve <IRoverService>(); } }
public RoverServiceFixture() { _plateauServiceMock = new Mock <IPlateauService>(); _roverCommandService = new RoverCommandService(); _roverService = new RoverService(_roverCommandService, _plateauServiceMock.Object); _plateauPosition = new Position { X = 5, Y = 5 }; _plateauServiceMock.Setup(x => x.SetPlateauPosition(_plateauPosition)); }
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 RoverController(IRoverService roverService, IEnvironmentSerive environmentSerive) { _roverService = roverService; _environmentService = environmentSerive; }
public MarsRoverController(ILogger <MarsRoverController> logger, IPlateauService plateauService, IRoverService roverService) : base(logger) { _logger = logger; _plateauService = plateauService; _roverService = roverService; }
public RoverController(PlanetService planetService, RoverService roverService) { _planetService = planetService; _roverService = roverService; }
public MissionController(IRoverService roverService, IGridService gridService) { _roverService = roverService; _gridService = gridService; }
public LeftCommand(IRoverService marsRoverService, IDirectionService directionManagerStrategy) { _roverService = marsRoverService; _directionService = directionManagerStrategy; }
public static void TestFixtureSetup(TestContext context) { _service = new RoverService(); _rover = new Domain.Model.Rover.Rover(); }