Beispiel #1
0
        public void GenerateDivisionQuestionsTest()
        {
            var divisionRemainderService = new DivisionRemainderService();

            var numberOfQuestions = 10;

            var generatedQuestions = divisionRemainderService.GenerateQuestions(numberOfQuestions);

            Assert.AreEqual(numberOfQuestions, generatedQuestions.Count);

            foreach (var question in generatedQuestions)
            {
                var result    = question.FirstNumber / question.SecondNumber;
                var remainder = question.FirstNumber % question.SecondNumber;

                Assert.IsTrue(result >= 0 && result <= 100);
                Assert.IsTrue(remainder > 0);
            }
        }
Beispiel #2
0
        public void ScoreDivisionQuestionsTest()
        {
            var divisionRemainderService = new DivisionRemainderService();

            var generatedQuestions = Helper.GetQuestionSetForScoring();

            divisionRemainderService.ScoreQuestions(generatedQuestions.Questions);

            //Split the questions after scoring into two lists
            //One is the division remainder questions which we can individually check to ensure they were scored properly
            var divisionQuesions = generatedQuestions.Questions.Where(a => a.QuestionType == QuestionType.DivisionWithRemainder).ToList();

            Assert.AreEqual(QuestionState.Correct, divisionQuesions[0].QuestionState);
            Assert.AreEqual(QuestionState.Incorrect, divisionQuesions[1].QuestionState);
            Assert.AreEqual(QuestionState.NotScored, divisionQuesions[2].QuestionState);

            //This list is everything that isn't a division remainder question and so should not have been scored
            var otherQuestions = generatedQuestions.Questions.Where(a => a.QuestionType != QuestionType.DivisionWithRemainder);

            Assert.IsTrue(otherQuestions.All(a => a.QuestionState == QuestionState.NotScored));
        }