Exemplo n.º 1
0
        public string ExecuteCommands(string commands)
        {
            var maximumMapCoordinate  = instructionParser.ParseWorldMapSize(commands);
            var roversAndInstructions = instructionParser.ParseRovers(commands);
            var results      = new List <string>();
            var lostCommands = new Dictionary <string, string>();

            foreach (var kvp in roversAndInstructions)
            {
                var initialLocation = kvp.Key;
                var instructions    = kvp.Value;

                var rover = roverFactory.Construct();
                rover.CurrentLocation = initialLocation;

                var result = ExecuteInstructions(rover, instructions, maximumMapCoordinate, lostCommands);
                results.Add(result);
            }

            return(string.Join("\n\n", results));
        }