public string ExecuteExplorationPlan(string input) { if (_explorationPlanDeserializer == null) { throw new ArgumentNullException("explorationPlanDeserializer"); } if (_finalStatusSerializer == null) { throw new ArgumentNullException("finalStatusSerializer"); } ExplorationPlan explorationPlan = _explorationPlanDeserializer.DeserializeExplorationPlan(input); FinalStatus finalStatus = this.ExecuteExplorationPlan(explorationPlan); string output = _finalStatusSerializer.SerializeFinalStatus(finalStatus); return(output); }
public void ExplorationPlanDeserializer_DeserializeExplorationPlanWithInvalidArgument_ThrowsInputInvalidLineCountException() { string testInput = "5 5\n" + "1 2 N\n" + "LMLMLMLMM\n" + "3 3 E\n"; // the series of instructions of the second rover is missing. Assert.Throws <InputInvalidLineCountException>(() => { ExplorationPlan explorationPlan = _explorationPlanDeserializer.DeserializeExplorationPlan(testInput); }); }