コード例 #1
0
        public void should_check_correct_answer_for_single_answer_single_option_question()
        {
            // Arrange
            var question = StubOpenQuestions.SingleAnswerSingleOptionQuestion;
            var userAnswer = new QuestionUserAnswer(question.Id, question.GetFirstOptionInFirstQuestion());

            // Act
            var result = _target.Check(userAnswer, question);

            // Assert
            Assert.True(result.IsCorrect);
            Assert.Equal(1, result.CorrectAswersIds.Count);
        }
コード例 #2
0
        public void should_check_incorrect_answer_for_single_option()
        {
            // Arrange
            var question = StubTestQuestions.SingleAnswer;
            var userAnswer = new QuestionUserAnswer(question.Id, "B");

            // Act
            var result = _target.Check(userAnswer, question);

            // Assert
            Assert.False(result.IsCorrect);
            Assert.Empty(result.CorrectAswersIds);
        }
コード例 #3
0
        public void should_check_incorect_answer_for_three_options()
        {
            // Arrange
            var question = StubTestQuestions.ThreeAnswers;
            var userAnswer = new QuestionUserAnswer(question.Id) { Answers = new List<string> { "B", "A", "D" } };

            // Act
            var result = _target.Check(userAnswer, question);

            // Assert
            Assert.False(result.IsCorrect);
            Assert.Equal(2, result.CorrectAswersIds.Count);
        }
コード例 #4
0
        public void should_check_correct_answers_for_multi_answers_single_option()
        {
            // Arrange
            var question = StubOpenQuestions.ThreeAnswersSingleOptionQuestion;
            var userAnswer = new QuestionUserAnswer(question.Id);
            userAnswer.Answers.Add("red");
            userAnswer.Answers.Add("black");
            userAnswer.Answers.Add("blue");

            // Act
            var result = _target.Check(userAnswer, question);

            // Assert
            Assert.True(result.IsCorrect);
            Assert.Equal(3, result.CorrectAswersIds.Count);
        }
コード例 #5
0
        public void should_check_incorrect_answer()
        {
            // Arrange
            var question = StubCategoryQuestions.CategoryQuestion;
            var userAnswer = new QuestionUserAnswer(question.Id);
            userAnswer.Answers.Add("Alphabet");
            userAnswer.Answers.Add("Bird");
            userAnswer.Answers.Add("Number");
            userAnswer.Answers.Add("Alphabet");
            userAnswer.Answers.Add("Bird");

            // Act
            var result = _target.Check(userAnswer, question);

            // Assert
            Assert.False(result.IsCorrect);
            Assert.Equal(3, result.CorrectAswersIds.Count);
        }
コード例 #6
0
        public void should_check_correct_answers()
        {
            // Arrange
            var userAnswers = new QuizUserAnswers();

            {
                var answer1 = new QuestionUserAnswer(_quiz.OpenQuestions.ElementAt(0).Id);
                answer1.Answers.Add("Kaczka");
                userAnswers.OpenQuestionsAnswers.Add(answer1);
            }
            {
                var answer2 = new QuestionUserAnswer(_quiz.OpenQuestions.ElementAt(1).Id);
                answer2.Answers.Add("red");
                userAnswers.OpenQuestionsAnswers.Add(answer2);
            }
            {
                var answer3 = new QuestionUserAnswer(_quiz.OpenQuestions.ElementAt(2).Id);
                answer3.Answers.Add("red");
                answer3.Answers.Add("black");
                answer3.Answers.Add("blue");
                userAnswers.OpenQuestionsAnswers.Add(answer3);
            }
            {
                var answer4 = new QuestionUserAnswer(_quiz.OpenQuestions.ElementAt(3).Id);
                answer4.Answers.Add("czerwony");
                answer4.Answers.Add("negro");
                answer4.Answers.Add("blue");
                userAnswers.OpenQuestionsAnswers.Add(answer4);
            }
            {
                var answer5 = new QuestionUserAnswer(_quiz.TestQuestions.ElementAt(0).Id);
                answer5.Answers.Add("A");
                userAnswers.TestQuestionsAnswers.Add(answer5);
            }
            {
                var answer6 = new QuestionUserAnswer(_quiz.TestQuestions.ElementAt(1).Id);
                answer6.Answers.Add("A");
                answer6.Answers.Add("B");
                answer6.Answers.Add("C");
                userAnswers.TestQuestionsAnswers.Add(answer6);
            }
            {
                var answer7 = new QuestionUserAnswer(_quiz.SortQuestions.ElementAt(0).Id);
                answer7.Answers.Add("A");
                answer7.Answers.Add("B");
                answer7.Answers.Add("C");
                userAnswers.SortQuestionsAnswers.Add(answer7);
            }

            {
                var answer8 = new QuestionUserAnswer(_quiz.CategoryQuestions.ElementAt(0).Id);
                answer8.Answers.Add("Alphabet");
                answer8.Answers.Add("Alphabet");
                answer8.Answers.Add("Number");
                answer8.Answers.Add("Bird");
                answer8.Answers.Add("Bird");
                userAnswers.CategoryQuestionsAnswers.Add(answer8);
            }

            // Act
            var result = _target.Check(_quiz, userAnswers);

            // Assert
            Assert.True(result.CorrectAnswersCount == userAnswers.TotalAnswersCount);
        }