public string Execute(int row, int col, IEnumerable <string> commands)
        {
            var    toyRobot = new Data.ToyRobot(new Matrix(col, row));
            string output   = default;

            foreach (var command in commands)
            {
                var validationResult = _commandValidatorFactory.Execute(command);
                var executeResult    = validationResult?.Execute(toyRobot);

                if (executeResult == default)
                {
                    continue;
                }
                output = executeResult;
            }

            return(output);
        }
Esempio n. 2
0
 public override string Execute(Data.ToyRobot robot)
 {
     if (!robot.IsActive)
     {
         return(default);
 public abstract string Execute(Data.ToyRobot robot);
Esempio n. 4
0
 public override string Execute(Data.ToyRobot robot) =>
 robot.IsActive ? $"{robot.Coordinate.X},{robot.Coordinate.Y},{robot.CardinalDirection}".ToUpper() : default;