public void GetLoadedAssignmentQuestionIds_ReturnsIdsInCorrectOrder() { var uqds = new Dictionary <int, UserQuestionData>() { [1] = new UserQuestionData() { AssignmentQuestion = new AssignmentQuestion() { Id = 1, Order = 2 } }, [2] = new UserQuestionData() { AssignmentQuestion = new AssignmentQuestion() { Id = 2, Order = 1 } }, }; var store = new UserQuestionDataStore(uqds); Assert.Equal(new List <int> { 2, 1 }, store.GetLoadedAssignmentQuestionIds()); }
/// <summary> /// Returns a mock QuestionResolver. /// </summary> private IQuestionResolverFactory GetMockQuestionResolverFactory( UserQuestionDataStore store, Question resolvedQuestion = null, UserQuestionSubmission submission = null) { var questionResolverFactory = new Mock <IQuestionResolverFactory>(); var userQuestionData = store.GetUserQuestionData ( store.GetLoadedAssignmentQuestionIds()[0] ); if (submission != null) { questionResolverFactory .Setup ( m => m .CreateQuestionResolver(userQuestionData) .ResolveSolvedQuestionAsync(submission) ).ReturnsAsync(resolvedQuestion); } else { questionResolverFactory .Setup ( m => m .CreateQuestionResolver(userQuestionData) .ResolveUnsolvedQuestionAsync() ).ReturnsAsync(resolvedQuestion); } return(questionResolverFactory.Object); }
/// <summary> /// Returns a mock QuestionStatusCalculator. /// </summary> private IQuestionStatusCalculator GetMockQuestionStatusCalculator( UserQuestionDataStore store, UserQuestionStatus userQuestionStatus = null) { var userQuestionData = store.GetUserQuestionData ( store.GetLoadedAssignmentQuestionIds()[0] ); var statusCalculator = new Mock <IQuestionStatusCalculator>(); statusCalculator .Setup(m => m.GetQuestionStatus(userQuestionData)) .Returns(userQuestionStatus ?? CreateUserQuestionStatus()); return(statusCalculator.Object); }
/// <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); }