Exemple #1
0
        public IQuestion Build(string contents)
        {
            var questionMatch = _questionRegex.Match(contents);

            var num     = int.Parse(questionMatch.Groups[1].Value);
            var text    = questionMatch.Groups[2].Value.Trim();
            var answers = questionMatch.Groups[3].Value;
            var correct = questionMatch.Groups[5].Value.Trim()[0];

            var question = new MultipleChoiceQuestion(num, text);

            _questionExtraFactory.InsertExtras(contents, question);

            foreach (Match answerMatch in _answersRegex.Matches(answers))
            {
                var option     = answerMatch.Groups[1].Value.Trim()[0];
                var answerText = answerMatch.Groups[2].Value.Trim();

                var choice = new Choice(option, answerText);

                question.AddChoice(choice);

                if (correct == option)
                {
                    question.Answer = choice;
                }
            }

            return(question);
        }
        public IQuestion Build(string contents)
        {
            var match = _questionRegex.Match(contents);

            var num    = int.Parse(match.Groups[1].Value);
            var text   = match.Groups[2].Value.Trim();
            var answer = match.Groups[4].Value.Trim();

            var question = new WrittenResponseQuestion(num, text)
            {
                Answer = new WrittenResponseAnswer(answer)
            };

            _questionExtraFactory.InsertExtras(contents, question);

            return(question);
        }
Exemple #3
0
        public IQuestion Build(string contents)
        {
            var match = _questionRegex.Match(contents);

            var num    = int.Parse(match.Groups[1].Value);
            var text   = match.Groups[2].Value.Trim();
            var answer = match.Groups[3].Value;

            var question = new TrueFalseQuestion(num, text);

            if (answer.Equals("true", StringComparison.CurrentCultureIgnoreCase))
            {
                question.Answer = true;
            }
            else if (answer.Equals("false", StringComparison.CurrentCultureIgnoreCase))
            {
                question.Answer = false;
            }

            _questionExtraFactory.InsertExtras(contents, question);

            return(question);
        }