public void AddQuestionToAForm() { // Arrange Form f = SetupForm(); // Act QBinary q1 = (QBinary)f.Questions.AddANewQuestion <QBinary>("Est-ce que c'est ma première question ?", true); QBinary q2 = (QBinary)f.Questions.AddANewQuestion("DynamicForms.Components.QBinary, DynamicForms.Components", "Est-ce que c'est une seconde question ?", true); QBinary q3 = (QBinary)f.Questions.AddANewQuestion <QBinary>("Est-ce que c'est une troisième question ?", true); QFreeText q4 = (QFreeText)f.Questions.AddANewQuestion <QFreeText>("Est-ce que c'est une quatrième question ?", true); q2.Parent = q1; q3.Index = 0; q4.AllowEmptyAnswer = false; // Assert Assert.IsNotNull(q1); Assert.AreSame(f, q1.Form); Assert.AreEqual(1, q1.Index); Assert.AreEqual(q1, q2.Parent); Assert.AreEqual(0, q2.Index); Assert.AreEqual(0, q3.Index); Assert.AreEqual(2, q4.Index); Assert.IsTrue(f.Questions.Contains(q1)); Assert.IsTrue(f.Questions.Contains(q2)); q3.Index = 2; q2.Parent = q3.Parent; Assert.AreEqual(0, q1.Index); Assert.AreEqual(q1.Parent, q2.Parent); Assert.AreEqual(3, q2.Index); Assert.AreEqual(2, q3.Index); Assert.AreEqual(1, q4.Index); }
public void CreateAFormWithQFreeText() { Form f = FormEngine.CreateForm("Test"); QComposite n1 = f.Questions.AddANewQuestion <QComposite>("Informations sur le programme", false); QFreeText q1 = n1.AddANewQuestion <QFreeText>("Qu'aimez-vous dans ce programme ?", true); QFreeText q2 = (QFreeText)n1.AddANewQuestion("DynamicForms.Components.QFreeText, DynamicForms.Components", "Qu'est-ce qui marche particulièrement bien ?", false); QFreeText q3 = (QFreeText)n1.AddANewQuestion("DynamicForms.Components.QFreeText, DynamicForms.Components", "Dans quelle application l'utiliserez-vous ?", true); QComposite n2 = f.Questions.AddANewQuestion <QComposite>("Informations sur l'utilisation", false); QFreeText q4 = n2.AddANewQuestion <QFreeText>("Qu'est-ce qui est simple à utiliser pour vous ?", true); QFreeText q5 = n2.AddANewQuestion <QFreeText>("Comment l'utilisez-vous ?", false); AnswerSheet toto = f.FindOrCreateAnswerSheetFor("Toto"); AFreeText a1 = (AFreeText)toto.CreateAnswerFor(q1); a1.AllowEmptyAnswer = false; a1.FreeTextAnswer = "Une réponse de test 1"; AFreeText a2 = (AFreeText)toto.CreateAnswerFor(q2); a2.AllowEmptyAnswer = true; a2.FreeTextAnswer = "Une réponse de test 2"; AFreeText a3 = (AFreeText)toto.CreateAnswerFor(q3); a3.AllowEmptyAnswer = false; a3.FreeTextAnswer = "Une réponse de test 3"; AFreeText a4 = (AFreeText)toto.CreateAnswerFor(q4); a4.AllowEmptyAnswer = true; a4.FreeTextAnswer = ""; AFreeText a5 = (AFreeText)toto.CreateAnswerFor(q5); a5.AllowEmptyAnswer = false; a5.FreeTextAnswer = "Une réponse de test 5"; AFreeText a6 = (AFreeText)toto.CreateAnswerFor(q5); a6.AllowEmptyAnswer = false; a6.FreeTextAnswer = " "; a6.Accept(new RequirementValidator()); Assert.AreEqual(3, n1.Children.Count); Assert.AreEqual(2, n2.Children.Count); Assert.AreSame(q2.Parent, n1); Assert.AreSame(q4.Parent, n2); Assert.AreSame(toto.Answers[q1], a1); Assert.AreSame(toto.Answers[q5], a6); Assert.Throws <NotSupportedException>(delegate { toto.CreateAnswerFor(n1); }); }