public void ShouldBeAbleToSetAnswersForAQuestion()
        {
            List <Answer> answers = new List <Answer>()
            {
                new Answer()
                {
                    IsCorrect = true, AnswerValue = "Answer 1"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Answer 2"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Answer 3"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Answer 4"
                }
            };

            sut.SetAnswers(answers);
            Assert.That(sut.Answers, Is.Not.Null);
        }
        public IResult <IEnumerable <QuestionAnswers> > GetQuestionsByChapter(string chapterName)
        {
            IResult <IEnumerable <QuestionAnswers> > result = new Result <IEnumerable <QuestionAnswers> >();

            if (_fileData == null)
            {
                throw new ArgumentNullException();
            }
            try
            {
                TextReader textReader          = new StringReader(_fileData);
                var        doc                 = XDocument.Load(textReader);
                var        questionAnswersList = doc.Descendants("Chapter")
                                                 .Where(x => x.Attribute("ChapterName").Value == chapterName)
                                                 .Elements("Quiz").OrderBy(x => Guid.NewGuid()).ToList();
                var list = new List <QuestionAnswers>();
                foreach (var questionAnswers in questionAnswersList)
                {
                    QuestionAnswers questionAnswer = new QuestionAnswers();
                    questionAnswer.SetQuestion(questionAnswers.Attribute("Question").Value);
                    List <Answer> answers = new List <Answer>();
                    var           ansList = questionAnswers.Elements("Answer")
                                            .Select(a => new Answer()
                    {
                        AnswerValue = a.Attribute("Answer").Value,
                        IsCorrect   = int.Parse(a.Attribute("IsCorrectAnswer").Value) == 1 ? true : false
                    }).ToList();
                    questionAnswer.SetAnswers(ansList.OrderBy(x => Guid.NewGuid()).Take(ansList.Count).ToList());

                    list.Add(questionAnswer);
                }
                result.Data     = list.ToList();
                result.IsSucess = true;
            }
            catch (Exception ex)
            {
                result.IsSucess     = false;
                result.ErrorMessage = ex.Message;
            }
            return(result);
        }
Esempio n. 3
0
        private List <QuestionAnswers> LoadQuestionAnswers()
        {
            List <QuestionAnswers> questionAnswers = new List <QuestionAnswers>();
            QuestionAnswers        question1       = new QuestionAnswers();

            question1.SetQuestion("What is name of the capital of Ontrario?");
            question1.Result = true;
            question1.SetAnswers(
                new List <Answer>()
            {
                new Answer()
                {
                    IsCorrect = true, AnswerValue = "Toronto"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Qubec"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Minitoba"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "New Brunswick"
                }
            });

            QuestionAnswers question2 = new QuestionAnswers();

            question2.SetQuestion("When was Magna Carta siged?");
            question2.Result = true;
            question2.SetAnswers(
                new List <Answer>()
            {
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "1218"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "1261"
                },
                new Answer()
                {
                    IsCorrect = true, AnswerValue = "1215"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "1230"
                }
            });

            QuestionAnswers question3 = new QuestionAnswers();

            question3.SetQuestion("Who is the prime minister of Canada?");
            question3.Result = false;
            question3.SetAnswers(
                new List <Answer>()
            {
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "John Wich"
                },
                new Answer()
                {
                    IsCorrect = true, AnswerValue = "Justin Trudu"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "John Terry"
                },
                new Answer()
                {
                    IsCorrect = false, AnswerValue = "Total Stranger"
                }
            });

            questionAnswers.Add(question1);
            questionAnswers.Add(question2);
            questionAnswers.Add(question3);
            return(questionAnswers);
        }