/// <summary> /// Returns a mock question generator. /// </summary> private Mock <IQuestionGenerator> GetMockQuestionGenerator( GeneratedQuestionTemplate question, QuestionGenerationResult generationResult = null) { var questionGenerator = new Mock <IQuestionGenerator>(); questionGenerator .Setup(qg => qg.GenerateQuestionAsync(question, 0 /*seed*/)) .ReturnsAsync(generationResult); return(questionGenerator); }
/// <summary> /// Applies a new generated question instance to a given question. /// </summary> private void ApplyQuestionGenerationResult( UserQuestionData userQuestionData, QuestionGenerationResult result, DateTime generationTime) { if (result.Error != null) { throw new InvalidOperationException("Failed to regenerate question."); } if (userQuestionData.Seed != result.Seed) { userQuestionData.LastQuestionSubmission = null; } userQuestionData.Seed = result.Seed; userQuestionData.CachedQuestionData = result.SerializedQuestion; userQuestionData.CachedQuestionDataTime = generationTime; }