private static void RunAnalysis(Options options) { Log.Information("Analyzing {Exercise} solution in directory {Directory}", options.Slug, options.InputDirectory); var solution = SolutionParser.Parse(options); var solutionAnalysis = SolutionAnalyzer.Analyze(solution); SolutionAnalysisWriter.WriteToFile(options, solutionAnalysis); Log.Information("Analyzed {Exercise} solution in directory {Directory}. Status: {Status}. Comments: {Comments}", options.Slug, options.OutputDirectory, solutionAnalysis.Status, solutionAnalysis.Comments.Select(comment => comment.Comment)); }
public static SolutionAnalysis Analyze(Options options) { var solution = CreateSolution(options); Log.Information("Parsing exercise {Exercise} in {Directory}.", options.Slug, options.Directory); var parsedSolution = SolutionParser.Parse(solution); if (parsedSolution == null) { return(new SolutionAnalysis(solution, new SolutionAnalysisResult(SolutionStatus.ReferToMentor))); } var solutionAnalysis = AnalyzeSolution(parsedSolution); Log.Information("Analyzed exercise {Exercise} with status {Status} and comments {Comments}.", solution.Slug, solutionAnalysis.Result.Status, solutionAnalysis.Result.Comments); return(solutionAnalysis); }