示例#1
0
        public void Builds_personalized_node(int learnerId, KnowledgeNode node,
                                             NodeProgress expectedNodeProgress)
        {
            var result = _instructor.GatherLearningObjectsForLearner(learnerId, node.LearningObjectSummaries);

            result.ShouldBe(expectedNodeProgress.LearningObjects);
        }
示例#2
0
        private NodeProgress BuildNodeForLearner(KnowledgeNode node, int learnerId)
        {
            var nodeProgress = _progressRepository.GetNodeProgressForLearner(learnerId, node.Id) ?? new NodeProgress(
                0, learnerId, node, NodeStatus.Unlocked, _instructor.GatherLearningObjectsForLearner(learnerId, node.LearningObjectSummaries)
                );

            //TODO: Create learning session and save.
            _progressRepository.SaveNodeProgress(nodeProgress);

            return(nodeProgress);
        }
示例#3
0
        public CodeEvaluation EvaluateCode(CodeSubmission submission)
        {
            var issueReport = _smellDetectorService.AnalyzeCodeQuality(submission.SourceCode);

            if (issueReport.IssuesForCodeSnippet.Count == 0)
            {
                return(new CodeEvaluation());
            }

            var qualityEvaluation = GatherLOSummaries(issueReport);
            var instructorLOs     =
                _instructor.GatherLearningObjectsForLearner(submission.LearnerId, qualityEvaluation.GetLearningObjectSummaries());

            qualityEvaluation.AddLearningObjects(instructorLOs);

            return(qualityEvaluation);
        }