protected override QuizItem LoadElement(XmlNode e) { QuizItem result = null; if (e.Name == "quiz") { result = new Quiz(); ((Quiz)result).Title = e.Attributes["title"].Value; } if (e.Name == "container") { result = new QuizItemContainer(); } if (e.Name == "question") { result = new Question(e.Attributes["text"].Value, bool.Parse(e.Attributes["multichoice"].Value)); foreach (XmlNode ch in e.ChildNodes) { ((Question)result).Answers.Add(new Answer( ch.Attributes["text"].Value, bool.Parse(ch.Attributes["correct"].Value) )); } } return(result); }
protected QuizItem WalkLoad(Stream s) { QuizItem result = null; int type = s.ReadByte(); if (type == 0) { int count = s.ReadByte(); QuizItemContainer res = new QuizItemContainer(); for (int i = 0; i < count; i++) { res.Items.Add(WalkLoad(s)); } result = res; } if (type == 1) { int count = s.ReadByte(); Question res = new Question(Util.ReadString(s), s.ReadByte() == 1); for (int i = 0; i < count; i++) { res.Answers.Add(new Answer(Util.ReadString(s), s.ReadByte() == 1)); } result = res; } return(result); }
protected override QuizItem LoadElement(XElement e) { QuizItem result = null; if (e.Name == "quiz") { result = new Quiz(); ((Quiz)result).Title = e.Attribute("title").Value; } if (e.Name == "container") { result = new QuizItemContainer(); } if (e.Name == "question") { result = new Question(e.Attribute("text").Value, bool.Parse(e.Attribute("multichoice").Value)); foreach (XElement ch in e.Descendants()) { ((Question)result).Answers.Add(new Answer( ch.Attribute("text").Value, bool.Parse(ch.Attribute("correct").Value) )); } } return(result); }
protected void WalkSave(QuizItem i, Stream s) { if (i is QuizItemContainer) { s.WriteByte(0); QuizItemContainer c = (QuizItemContainer)i; s.WriteByte((byte)c.Items.Count); foreach (QuizItem item in c) { WalkSave(item, s); } } if (i is Question) { s.WriteByte(1); Question c = (Question)i; s.WriteByte((byte)c.Answers.Count); Util.WriteString(s, c.Text); s.WriteByte((byte)(c.Multichoice ? 1 : 0)); foreach (Answer item in c) { Util.WriteString(s, item.Text); s.WriteByte((byte)(item.Correct ? 1 : 0)); } } }
public static Quiz GetQuiz() { Quiz q = new Quiz(); QuizItemContainer q1 = new QuizItemContainer(); Question qe1 = new Question("Q1", false); qe1.Answers.AddRange(new List <Answer> { new Answer("A1", false), new Answer("A2", true) }); Question qe2 = new Question("Q2", true); qe2.Answers.AddRange(new List <Answer> { new Answer("A1", false), new Answer("A2", true), new Answer("A3", true) }); q1.Add(qe1); q1.Add(qe2); Question qe3 = new Question("Q2", true); qe3.Answers.AddRange(new List <Answer> { new Answer("A1", true), new Answer("A2", true), new Answer("A3", false) }); q.Add(q1); q.Add(qe3); q.Title = "Test"; return(q); }
public void GetQuestionCountTest() { QuizItemContainer target = Fixture.GetQuiz(); int expected = 3; int actual; actual = target.GetQuestionCount(); Assert.AreEqual(expected, actual); }
public void GetCorrectAnswerCountTest() { QuizItemContainer target = Fixture.GetQuiz(); ((Question)((QuizItemContainer)target[0])[0]).SelectAnswer(1); ((Question)target[1]).SelectAnswer(1); int expected = 1; int actual; actual = target.GetCorrectAnswerCount(); Assert.AreEqual(expected, actual); }
public void IsAnsweredCorrectlyTest() { QuizItemContainer target = Fixture.GetQuiz(); ((Question)((QuizItemContainer)target[0])[0]).SelectAnswer(1); ((Question)target[1]).SelectAnswer(1); Assert.IsFalse(target.IsAnsweredCorrectly()); ((Question)((QuizItemContainer)target[0])[1]).SelectAnswer(1); ((Question)((QuizItemContainer)target[0])[1]).SelectAnswer(2); ((Question)target[1]).SelectAnswer(1); ((Question)target[1]).SelectAnswer(0); Assert.IsTrue(target.IsAnsweredCorrectly()); }
public void IsAnsweredTest() { QuizItemContainer target = Fixture.GetQuiz(); bool expected = false; bool actual; actual = target.IsAnswered(); Assert.AreEqual(expected, actual); ((Question)((QuizItemContainer)target[0])[0]).SelectAnswer(1); ((Question)((QuizItemContainer)target[0])[1]).SelectAnswer(1); ((Question)target[1]).SelectAnswer(1); actual = target.IsAnswered(); Assert.IsTrue(actual); }
protected QuizItem WalkLoad(Stream s) { QuizItem result = null; int type = s.ReadByte(); if (type == 0) { int count = s.ReadByte(); QuizItemContainer res = new QuizItemContainer(); for (int i = 0; i < count; i++) res.Items.Add(WalkLoad(s)); result = res; } if (type == 1) { int count = s.ReadByte(); Question res = new Question(Util.ReadString(s), s.ReadByte() == 1); for (int i = 0; i < count; i++) res.Answers.Add(new Answer(Util.ReadString(s), s.ReadByte() == 1)); result = res; } return result; }
public void QuizItemContainerConstructorTest() { QuizItemContainer target = new QuizItemContainer(); Assert.AreEqual(target.GetQuestionCount(), 0); }