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