Example #1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public UserQuestionDataUpdaterImplFactory(
            DatabaseContext dbContext,
            IQuestionStatusCalculator questionStatusCalculator,
            IQuestionGenerator questionGenerator,
            IGeneratedQuestionSeedGenerator seedGenerator,
            IRandomlySelectedQuestionSelector questionSelector,
            ITimeProvider timeProvider)
        {
            _generatedUserQuestionDataUpdater = new GeneratedUserQuestionDataUpdater
                                                (
                questionStatusCalculator,
                questionGenerator,
                seedGenerator,
                timeProvider
                                                );

            _randomlySelectedUserQuestionDataUpdater = new RandomlySelectedUserQuestionDataUpdater
                                                       (
                dbContext,
                questionStatusCalculator,
                questionSelector
                                                       );

            _defaultUserQuestionDataUpdater = new DefaultUserQuestionDataUpdater();
        }
Example #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public RandomlySelectedUserQuestionDataUpdater(
     DatabaseContext dbContext,
     IQuestionStatusCalculator questionStatusCalculator,
     IRandomlySelectedQuestionSelector randomlySelectedQuestionSelector)
 {
     _dbContext = dbContext;
     _questionStatusCalculator         = questionStatusCalculator;
     _randomlySelectedQuestionSelector = randomlySelectedQuestionSelector;
     _userQuestionDatas = new List <UserQuestionData>();
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public QuestionResolverFactory(
     DatabaseContext dbContext,
     IJsonSerializer jsonSerializer,
     IQuestionLoaderFactory questionLoaderFactory,
     IQuestionStatusCalculator questionStatusCalculator)
 {
     _dbContext                = dbContext;
     _jsonSerializer           = jsonSerializer;
     _questionLoaderFactory    = questionLoaderFactory;
     _questionStatusCalculator = questionStatusCalculator;
 }
Example #4
0
 /// <summary>
 /// Creates a new RandomlySelectedUserQuestionDataUpdater.
 /// </summary>
 private RandomlySelectedUserQuestionDataUpdater CreateUserQuestionDataUpdater(
     DatabaseContext dbContext = null,
     IQuestionStatusCalculator questionStatusCalculator = null,
     IRandomlySelectedQuestionSelector questionSelector = null)
 {
     return(new RandomlySelectedUserQuestionDataUpdater
            (
                dbContext,
                questionStatusCalculator,
                questionSelector
            ));
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public GeneratedUserQuestionDataUpdater(
     IQuestionStatusCalculator questionStatusCalculator,
     IQuestionGenerator questionGenerator,
     IGeneratedQuestionSeedGenerator seedGenerator,
     ITimeProvider timeProvider)
 {
     _questionStatusCalculator = questionStatusCalculator;
     _questionGenerator        = questionGenerator;
     _seedGenerator            = seedGenerator;
     _timeProvider             = timeProvider;
     _regenerateJobs           = new List <RegenerateQuestionJob>();
 }
Example #6
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public QuestionSolver(
     IQuestionResolverFactory questionResolverFactory,
     IQuestionGraderFactory questionGraderFactory,
     IQuestionStatusCalculator questionStatusCalculator,
     IQuestionScoreCalculator questionScoreCalculator,
     IAssignmentProgressRetriever assignmentProgressRetriever,
     IJsonSerializer jsonSerializer)
 {
     _questionResolverFactory     = questionResolverFactory;
     _questionGraderFactory       = questionGraderFactory;
     _questionStatusCalculator    = questionStatusCalculator;
     _questionScoreCalculator     = questionScoreCalculator;
     _assignmentProgressRetriever = assignmentProgressRetriever;
     _jsonSerializer = jsonSerializer;
 }
Example #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public UserQuestionDataUpdaterFactory(
     DatabaseContext dbContext,
     IQuestionStatusCalculator questionStatusCalculator,
     IQuestionGenerator questionGenerator,
     IGeneratedQuestionSeedGenerator seedGenerator,
     IRandomlySelectedQuestionSelector questionSelector,
     ITimeProvider timeProvider)
 {
     _dbContext = dbContext;
     _questionStatusCalculator = questionStatusCalculator;
     _questionGenerator        = questionGenerator;
     _seedGenerator            = seedGenerator;
     _questionSelector         = questionSelector;
     _timeProvider             = timeProvider;
 }
 /// <summary>
 /// Creates a question solver.
 /// </summary>
 private QuestionSolver GetQuestionSolver(
     IQuestionResolverFactory questionResolverFactory         = null,
     IQuestionGraderFactory questionGraderFactory             = null,
     IQuestionStatusCalculator questionStatusCalculator       = null,
     IQuestionScoreCalculator questionScoreCalculator         = null,
     IAssignmentProgressRetriever assignmentProgressRetriever = null,
     IJsonSerializer jsonSerializer = null)
 {
     return(new QuestionSolver
            (
                questionResolverFactory,
                questionGraderFactory,
                questionStatusCalculator,
                questionScoreCalculator,
                assignmentProgressRetriever,
                jsonSerializer
            ));
 }
Example #9
0
        /// <summary>
        /// Creates a new GeneratedUserQuestionDataUpdater.
        /// </summary>
        private GeneratedUserQuestionDataUpdater CreateUserQuestionDataUpdater(
            IQuestionStatusCalculator questionStatusCalculator = null,
            IQuestionGenerator questionGenerator          = null,
            IGeneratedQuestionSeedGenerator seedGenerator = null)
        {
            var mockTimeProvider = new Mock <ITimeProvider>();

            mockTimeProvider
            .Setup(m => m.UtcNow)
            .Returns(GenerationTime);

            return(new GeneratedUserQuestionDataUpdater
                   (
                       questionStatusCalculator,
                       questionGenerator,
                       seedGenerator,
                       mockTimeProvider.Object
                   ));
        }