Пример #1
0
        public void NextQuestion_No_RandomizeQuestions()
        {
            var randomizer = new FakeReverseOrderRandomizer(100);

            var quizManager = new QuizManager(randomizer);

            var quiz = new MemberTrack.Data.Entities.Quizzes.Quiz
            {
                Id = 10,
                RandomizeQuestions = false,
            };

            var question1 = new Question
            {
                Id     = 1,
                QuizId = quiz.Id,
            };
            var question2 = new Question
            {
                Id     = 2,
                QuizId = quiz.Id,
            };
            var question3 = new Question
            {
                Id     = 3,
                QuizId = quiz.Id,
            };

            quiz.Questions = new List <Question> {
                question1, question2, question3
            };

            var person = new Person
            {
                Id = 100
            };

            var personAnswers = new List <PersonAnswer>();

            var choosenQuestion = quizManager.NextQuestion(quiz, person, quiz.Questions, personAnswers);

            Assert.AreSame(question1, choosenQuestion);
        }
Пример #2
0
        public void NextQuestion_No_RandomizeAnswers()
        {
            var randomizer = new FakeReverseOrderRandomizer(100);

            var quizManager = new QuizManager(randomizer);

            var answer1 = new Answer
            {
                Id = 1000,
            };

            var answer2 = new Answer
            {
                Id = 1001,
            };

            var answer3 = new Answer
            {
                Id = 1002,
            };

            var quiz = new MemberTrack.Data.Entities.Quizzes.Quiz
            {
                Id = 10,
                RandomizeQuestions = false,
            };

            var question1 = new Question
            {
                Id               = 1,
                QuizId           = quiz.Id,
                RandomizeAnswers = false,
                Answers          = new List <Answer> {
                    answer1, answer2, answer3
                },
            };

            var question2 = new Question
            {
                Id     = 2,
                QuizId = quiz.Id,
            };
            var question3 = new Question
            {
                Id     = 3,
                QuizId = quiz.Id,
            };

            quiz.Questions = new List <Question> {
                question1, question2, question3
            };

            var person = new Person
            {
                Id = 100
            };

            var personAnswers = new List <PersonAnswer>();

            var choosenAnswer = quizManager.NextQuestion(quiz, person, quiz.Questions, personAnswers);

            Assert.AreSame(question1, choosenAnswer);
            Assert.AreEqual(question1.Answers.Count, choosenAnswer.Answers.Count);

            //The answers should be in order.
            Assert.AreSame(answer1, question1.Answers.First());
            Assert.AreSame(answer2, question1.Answers.Skip(1).First());
            Assert.AreSame(answer3, question1.Answers.Skip(2).First());
        }