/// <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(); }
/// <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; }
/// <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>(); }
/// <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; }
/// <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 )); }
/// <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 )); }