public async Task WriteService_CreateQuizWithQuestion_CreatedSucessfully() { using var dbTrans = await NoCommitFactory().Create(); var writeService = GetQuizWriteService(dbTrans); var quizBuilder = QuizBuilder.New().WithTitle("Test Quiz"); await writeService.CreateQuiz(quizBuilder.Entity); var service = GetQuizReadService(dbTrans); var quiz = Assert.Single(await service.GetAllQuiz()); Assert.NotNull(quiz); var questionBuilder1 = QuestionBuilder.New().WithText("Question 1"); var questionBuilder2 = QuestionBuilder.New().WithText("Question 2"); var questionBuilder3 = QuestionBuilder.New().WithText("Question 3"); var questionBuilder4 = QuestionBuilder.New().WithText("Question 4"); await writeService.CreateQuestion(quiz.Id, questionBuilder1.Entity); await writeService.CreateQuestion(quiz.Id, questionBuilder2.Entity); await writeService.CreateQuestion(quiz.Id, questionBuilder3.Entity); await writeService.CreateQuestion(quiz.Id, questionBuilder4.Entity); quiz = await service.GetQuizById(quiz.Id); Assert.InRange(quiz.Questions.ToList().Count, 4, 4); }
public async Task WriteService_DeleteAnswer_DeleteSucessfully() { using var dbTrans = await NoCommitFactory().Create(); var service = GetQuizReadService(dbTrans); var writeService = GetQuizWriteService(dbTrans); await writeService.CreateQuiz(QuizBuilder.New().WithTitle("Test Quiz") .WithQuestion(QuestionBuilder.New().WithText("Question 1").WithAnswer(AnswerBuilder.New().WithText("Test Answer 1").Entity) .Entity).Entity); var quiz = Assert.Single(await service.GetAllQuiz()); Assert.NotNull(quiz); Assert.NotEmpty(quiz.Questions); var question = quiz.Questions.First(); await writeService.DeleteAnswer(question.AvailableAnswers.First().Id); quiz = await service.GetQuizById(quiz.Id); Assert.NotNull(quiz); Assert.NotEmpty(quiz.Questions); Assert.Null(quiz.Questions.First().AvailableAnswers); }
QuizBuilder inst; // might make this a singleton public void constructor(int num, QuizBuilder qb, GameObject qi) { myIndex = num; inst = qb; questionInput = qi; saveBtn = questionInput.transform.GetChild(8).GetComponent <SaveButton>(); dltBtn = questionInput.transform.GetChild(9).GetComponent <DeleteButton>(); isNew = true; OnPointerClick(null); }
public void GenerateQuestions_ShouldNotifyCorrectlyWhenMoreThanFiveAnswers() { // arrange QuizBuilder builder = new QuizBuilder(); Question question = new Question(1, "question", new List <string> { "1", "2", "3", "4", "5", "6" }, 1); var expected = "The question with the following text"; // act var actual = builder.NotifyIfFiveOrMoreAnswers(question.Answers); // assert Assert.IsTrue(actual.Contains(expected)); }
private void Awake() { if (inst == null) { inst = this; gm = GameManager.inst; gm.LoadQuizButtons(); Time.timeScale = 1; gameObject.SetActive(false); } else { Destroy(this); } }
public async Task WriteService_CreateQuizWithQuestionsAndAnswersAndCorrectAnswer_CreatedSucessfully() { using var dbTrans = await NoCommitFactory().Create(); var service = GetQuizReadService(dbTrans); var writeService = GetQuizWriteService(dbTrans); var questionBuilder1 = QuestionBuilder.New().WithText("Question 1").WithAnswers(new List <Answer> { AnswerBuilder.New().WithText("Q1: Answer 1").Entity, AnswerBuilder.New().WithText("Q1: Answer 2").Entity, AnswerBuilder.New().WithText("Q1: Answer 3").Entity }); var questionBuilder2 = QuestionBuilder.New().WithText("Question 2").WithAnswers(new List <Answer> { AnswerBuilder.New().WithText("Q2: Answer 1").Entity, AnswerBuilder.New().WithText("Q2: Answer 2").Entity, AnswerBuilder.New().WithText("Q2: Answer 3").Entity }); var quizBuilder = QuizBuilder.New().WithTitle("Test Quiz").WithQuestions(new List <Question> { questionBuilder1.Entity, questionBuilder2.Entity }); await writeService.CreateQuiz(quizBuilder.Entity); var quiz = Assert.Single(await service.GetAllQuiz()); Assert.NotNull(quiz); Assert.InRange(quiz.Questions.ToList().Count, 2, 2); foreach (var question in quiz.Questions) { Assert.Null(question.CorrectAnswer); Assert.InRange(question.AvailableAnswers.Count(), 3, 3); } quiz = await service.GetQuizById(quiz.Id); Assert.NotNull(quiz); var q = quiz.Questions.First(); q.CorrectAnswer = q.AvailableAnswers.First(); await writeService.UpdateQuestion(q); Assert.Single(quiz.Questions.Where(a => a.CorrectAnswer != null).ToList()); }
public async Task WriteService_DeleteQuiz_DeleteSucessfully() { using var dbTrans = await NoCommitFactory().Create(); var service = GetQuizReadService(dbTrans); var writeService = GetQuizWriteService(dbTrans); await writeService.CreateQuiz(QuizBuilder.New().WithTitle("Test Quiz").Entity); var quiz = Assert.Single(await service.GetAllQuiz()); Assert.NotNull(quiz); await writeService.DeleteQuiz(quiz.Id); await Assert.ThrowsAsync <InvalidOperationException>(() => service.GetQuizById(quiz.Id)); var allQuiz = await service.GetAllQuiz(); Assert.Empty(allQuiz); }
public async Task WriteService_CreateQuizResponse_CreatedSucessfully() { using var dbTrans = await NoCommitFactory().Create(); var service = GetQuizReadService(dbTrans); var writeService = GetQuizWriteService(dbTrans); var questionBuilder1 = QuestionBuilder.New().WithText("Question 1").WithAnswers(new List <Answer> { AnswerBuilder.New().WithText("Q1: Answer 1").Entity, AnswerBuilder.New().WithText("Q1: Answer 2").Entity, AnswerBuilder.New().WithText("Q1: Answer 3").Entity }); var questionBuilder2 = QuestionBuilder.New().WithText("Question 2").WithAnswers(new List <Answer> { AnswerBuilder.New().WithText("Q2: Answer 1").Entity, AnswerBuilder.New().WithText("Q2: Answer 2").Entity, AnswerBuilder.New().WithText("Q2: Answer 3").Entity }); var quizBuilder = QuizBuilder.New().WithTitle("Test Quiz").WithQuestions(new List <Question> { questionBuilder1.Entity, questionBuilder2.Entity }); await writeService.CreateQuiz(quizBuilder.Entity); var quiz = Assert.Single(await service.GetAllQuiz()); Assert.NotNull(quiz); Assert.InRange(quiz.Questions.ToList().Count, 2, 2); foreach (var question in quiz.Questions) { Assert.Null(question.CorrectAnswer); Assert.InRange(question.AvailableAnswers.Count(), 3, 3); } quiz = await service.GetQuizById(quiz.Id); Assert.NotNull(quiz); var q = quiz.Questions.First(); q.CorrectAnswer = q.AvailableAnswers.First(); await writeService.UpdateQuestion(q); Assert.Single(quiz.Questions.Where(a => a.CorrectAnswer != null).ToList()); var q2 = quiz.Questions.Last(); q2.CorrectAnswer = q2.AvailableAnswers.Last(); await writeService.UpdateQuestion(q2); quiz = await service.GetQuizById(quiz.Id); Assert.InRange(quiz.Questions.Where(a => a.CorrectAnswer != null).ToList().Count, 2, 2); // Quiz is ready now await writeService.CreateQuizResponse(new QuizResponse { Quiz = quiz, Question = quiz.Questions.First(), GivenAnswer = quiz.Questions.First().AvailableAnswers.Last() // wrong answer }); await writeService.CreateQuizResponse(new QuizResponse { Quiz = quiz, Question = quiz.Questions.Last(), GivenAnswer = quiz.Questions.Last().AvailableAnswers.Last() // correct answer }); var response = await service.GetQuizResponse(quiz.Id); Assert.NotEmpty(response); Assert.InRange(response.Count(), 2, 2); Assert.Equal(1, response.Sum(s => s.AnswerPoint)); }
void Start() { gm = GameManager.inst; qb = QuizBuilder.inst; }
// Use this for initialization private void Awake() { QuizManager.GetInstance().InitializeQuizManager(QuizBuilder.BuildQuiz(null), quizUiController); }
private void QuizGame_Load(object sender, EventArgs e) { quizTimer.Start(); timerLabel.Text = seconds.ToString(); quizBuilder = new QuizBuilder(this, map, course, questions, QuestionIndex); }