コード例 #1
0
        public async Task GetQuestionToSolveAsync_SeparateSubmissions_ReturnsAssignmentProgress()
        {
            var store              = GetUserQuestionDataStore(interactive: true);
            var statusCalculator   = GetMockQuestionStatusCalculator(store);
            var resolverFactory    = GetMockQuestionResolverFactory(store);
            var assignmentProgress = new AssignmentProgress
                                     (
                userId: 0,
                currentAssignmentQuestionId: 0,
                questions: null
                                     );

            var assignmentProgressRetriever = GetMockAssignmentProgressRetriever
                                              (
                store,
                assignmentProgress
                                              );

            var questionSolver = GetQuestionSolver
                                 (
                questionResolverFactory: resolverFactory,
                questionStatusCalculator: statusCalculator,
                assignmentProgressRetriever: assignmentProgressRetriever
                                 );

            var result = await questionSolver.GetQuestionToSolveAsync
                         (
                store,
                assignmentQuestionId : 1
                         );

            Assert.Equal(assignmentProgress, result.AssignmentProgress);
        }
コード例 #2
0
        /// <summary>
        /// Returns a mock assignment progress retriever.
        /// </summary>
        private IAssignmentProgressRetriever GetMockAssignmentProgressRetriever(
            UserQuestionDataStore store,
            AssignmentProgress assignmentProgress = null)
        {
            var assignmentProgressRetriever = new Mock <IAssignmentProgressRetriever>();

            var uqd = store.GetUserQuestionData
                      (
                store.GetLoadedAssignmentQuestionIds()[0]
                      );

            assignmentProgressRetriever
            .Setup
            (
                m => m.GetAssignmentProgressAsync
                (
                    uqd.AssignmentQuestion.AssignmentId,
                    uqd.AssignmentQuestionId,
                    uqd.UserId
                )
            ).ReturnsAsync(assignmentProgress);

            return(assignmentProgressRetriever.Object);
        }
コード例 #3
0
 public StudentAssignmentProgress(Student student, StudyAssignment assignment, AssignmentProgress progress)
 {
     Student    = student;
     Assignment = assignment;
     Progress   = progress;
 }