예제 #1
0
        public void CreateQuestionResolver_NoNewAttemptAllowed_ReturnsCorrectType()
        {
            var userQuestionData = new UserQuestionData()
            {
                AssignmentQuestion = new AssignmentQuestion()
                {
                    Question = new MultipleChoiceQuestion()
                }
            };

            var questionStatusCalculator = GetMockQuestionStatusCalculator
                                           (
                userQuestionData,
                allowNewAttempt: false
                                           );

            var questionResolverFactory = new QuestionResolverFactory
                                          (
                dbContext: null,
                jsonSerializer: null,
                questionLoaderFactory: null,
                questionStatusCalculator: questionStatusCalculator
                                          );

            var result = questionResolverFactory.CreateQuestionResolver
                         (
                userQuestionData
                         );

            Assert.Equal(typeof(NoMoreAttemptsQuestionResolver), result.GetType());
        }
예제 #2
0
        public void CreateQuestionResolver_NewAttemptAllowed_ReturnsCorrectType(
            Type questionType,
            Type expectedResolverType)
        {
            var userQuestionData = new UserQuestionData()
            {
                AssignmentQuestion = new AssignmentQuestion()
                {
                    Question = (Question)Activator.CreateInstance(questionType)
                }
            };

            var questionStatusCalculator = GetMockQuestionStatusCalculator
                                           (
                userQuestionData,
                allowNewAttempt: true
                                           );

            var questionResolverFactory = new QuestionResolverFactory
                                          (
                dbContext: null,
                jsonSerializer: null,
                questionLoaderFactory: null,
                questionStatusCalculator: questionStatusCalculator
                                          );

            var result = questionResolverFactory.CreateQuestionResolver
                         (
                userQuestionData
                         );

            Assert.Equal(expectedResolverType, result.GetType());
        }