public async Task <CodeTestingResult> GetCodeQuality(TestingCode code) { var codeAnalyzer = _codeAnalyzerFactory.GetCodeAnalyzer(code); var codeAnalysisResult = await codeAnalyzer.Analyse(code); var codeTestingResult = new CodeTestingResult { CodeAnalysisResult = codeAnalysisResult }; if (!codeAnalysisResult.IsSuccessful) { return(codeTestingResult); } var executableCode = _executableCodeFactory.GetExecutableCode(code); codeTestingResult.CodeExecutionResult = await _codeExecutor.ExecuteAsync(executableCode); codeTestingResult.Score = GetFinalScore(codeTestingResult, code.Language); return(codeTestingResult); }
public async Task <CodeAnalysisResult> AnalyzeCodeAsync([FromBody] TestingCode code) { CodeAnalyzer codeAnalyzer = _codeAnalyzerFactory.GetCodeAnalyzer(code); return(await codeAnalyzer.Analyse(code)); }