Пример #1
0
        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));
        }
Пример #2
0
        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);
        }