public void UpdateVmContent(CodeEvaluationDTO evaluation)
 {
     if (Content is CodeAnalysisWindowControl windowControl)
     {
         windowControl.ViewModel.UpdateContent(evaluation);
     }
 }
Exemple #2
0
        public void Evaluates_code_quality(CodeSubmissionDTO submission, CodeEvaluationDTO expectedEvaluation)
        {
            using var scope = _factory.Services.CreateScope();
            var controller = new QualityAnalysisController(_factory.Services.GetRequiredService <IMapper>(), scope.ServiceProvider.GetRequiredService <ICodeQualityAnalyzer>());

            var evaluation = ((OkObjectResult)controller.Evaluate(submission).Result).Value as CodeEvaluationDTO;

            var actualLOs   = evaluation.LearningObjects.Select(lo => lo.Id);
            var expectedLOs = expectedEvaluation.LearningObjects.Select(lo => lo.Id);

            actualLOs.Count().ShouldBe(expectedLOs.Count());
            actualLOs.All(expectedLOs.Contains).ShouldBeTrue();
            var actualAffectedSnippets   = evaluation.CodeSnippetIssueAdvice.Keys.ToList();
            var expectedAffectedSnippets = expectedEvaluation.CodeSnippetIssueAdvice.Keys.ToList();

            actualAffectedSnippets.Count().ShouldBe(expectedAffectedSnippets.Count());
            actualAffectedSnippets.All(expectedAffectedSnippets.Contains).ShouldBeTrue();
        }