Example #1
0
 public NewRoverCommand(INasa nasa, IPlateau plateau, Location position, Cardinal cardinal)
 {
     _nasa         = nasa;
     _plateau      = plateau;
     this.position = position;
     this.cardinal = cardinal;
 }
Example #2
0
        static void Main(string[] args)
        {
            ServiceProvider serviceProvider = new ServiceCollection()
                                              .AddScoped <INasa, Nasa>()
                                              .AddScoped <ICommandParser, CommandParser>()
                                              .AddScoped <IPlateau, Plateau>()
                                              .BuildServiceProvider();

            ICommandParser commandParser = serviceProvider.GetService <ICommandParser>();
            INasa          nasa          = serviceProvider.GetService <INasa>();

            var commandsInput = new StringBuilder();

            commandsInput.AppendLine("5 5");
            commandsInput.AppendLine("1 2 N");
            commandsInput.AppendLine("LMLMLMLMM");
            commandsInput.AppendLine("3 3 E");
            commandsInput.Append("MMRMMRMRRM");

            List <ICommands> commandList = commandParser.Parse(commandsInput.ToString());

            nasa.Send(commandList);
            nasa.PrintRoversLastPosition();
        }
Example #3
0
 public CommandParser(IPlateau plateau, INasa nasa)
 {
     _plateau = plateau;
     _nasa    = nasa;
 }
Example #4
0
 public ControlRoverCommand(INasa nasa, Rotation rotation)
 {
     _nasa         = nasa;
     this.rotation = rotation;
 }
Example #5
0
 public NasaController(ILogger <NasaController> logger, INasa nasa)
 {
     _logger = logger;
     _nasa   = nasa;
 }