def testParseTrueFalse(self): """ """ io_tf1 = (""" Grant a été enterré dans une tombe à New-York.{T #Faux #Vrai} """) io_tf2 = (""" Le soleil se lève à l'Ouest.{FALSE} """) #TF1 question1 = pygift.Question('', '', '') question1.parse(io_tf1) self.assertIsInstance(question1.answers, pygift.TrueFalseSet) self.assertTrue(question1.answers.answer) self.assertTrue('Faux' in question1.answers.feedbackWrong) self.assertTrue('Vrai' in question1.answers.feedbackCorrect) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1 #TF2 question2 = pygift.Question('', '', '') question2.parse(io_tf2) self.assertIsInstance(question2.answers, pygift.TrueFalseSet) self.assertFalse(question2.answers.answer) ##TEST MY PRINT !! ## question2.myprint() print('\n') del question2
def testParseHead(self): """ """ io_head1 = ("""::Macumba:: [markdown] blabla \n bleble {}""") io_head2 = ("""[html] Macumba blabla \n bleble {}""") # HEAD 1 question = pygift.Question('', '', '') question._parseHead(io_head1) self.assertEqual(question.title, "Macumba") self.assertEqual(question.text, "blabla\n\n\nbleble\n{}") self.assertEqual(question.markup, "markdown") # HEAD 2 question2 = pygift.Question('', '', '') question2._parseHead(io_head2) self.assertEqual(question2.title, "") self.assertEqual(question2.text, "Macumba\nblabla\n\n\nbleble\n{}") self.assertEqual(question2.markup, "html") del question, question2
def testParseNumeric(self): """ test numeric answer return of :func:`pygift._parseNumericAnswers` """ io_num1 = (""" 1 OU 2 OU 3?{ #2 }""") io_num2 = (""" 1 OU 2 OU 3?{ #2:1 #### MEGA COMMENT }""") io_num3 = (""" 1 OU 2 OU 3?{ #1..3 }""") io_num4 = (""" 1 OU 2 OU 3?{ # }""") # FIXME : Ne pas passer par la méthode parse mais par _parseNumericAnswers / _parseNumericText #NUM1 question1 = pygift.Question('', '', '') question1.parse(io_num1) self.assertTrue(question1.numeric) self.assertIsInstance(question1.answers, pygift.NumericAnswerSet) self.assertIsInstance(question1.answers.answers[0], pygift.NumericAnswer) self.assertEqual(question1.answers.answers[0].value, 2) self.assertEqual(question1.answers.answers[0].tolerance, 0) del question1 # NUM2 question2 = pygift.Question('', '', '') question2.parse(io_num2) self.assertTrue(question2.numeric) self.assertIsInstance(question2.answers, pygift.NumericAnswerSet) self.assertIsInstance(question2.answers.answers[0], pygift.NumericAnswer) self.assertEqual(question2.answers.answers[0].value, 2) self.assertEqual(question2.answers.answers[0].tolerance, 1) del question2 # #NUM3 question3 = pygift.Question('', '', '') question3.parse(io_num3) self.assertTrue(question3.numeric) self.assertIsInstance(question3.answers, pygift.NumericAnswerSet) self.assertIsInstance(question3.answers.answers[0], pygift.NumericAnswerMinMax) self.assertEqual(question3.answers.answers[0].mini, str(1)) self.assertEqual(question3.answers.answers[0].maxi, str(3)) del question3 question4 = pygift.Question('', '', '') question4.parse(io_num4) self.assertTrue(question4.numeric) self.assertFalse(question4.valid)
def testParseShortSet(self): """ """ io_short1 = (""" second part of text of Q2 My Question{ =2 =Q2 =Question2 } other part """) question1 = pygift.Question('', '', '') question1.parse(io_short1) self.assertIsInstance(question1.answers, pygift.ShortSet) for (i, a) in enumerate(question1.answers.answers): if i == 0: self.assertTrue('2' in a.answer) if i == 1: self.assertTrue('Q2' in a.answer) if i == 2: self.assertTrue('Question2' in a.answer) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1
def testParseMatchingSet(self): """ """ io_match1 = (""" Appariez les pays suivants avec les capitales correspondantes. { =Canada -> Ottawa =Italie -> Rome =Japon -> Tokyo =Inde -> New Delhi }""") question1 = pygift.Question('', '', '') question1.parse(io_match1) self.assertIsInstance(question1.answers, pygift.MatchingSet) self.assertEqual([' Ottawa', ' Rome', ' Tokyo', ' New Delhi'], question1.answers.possibleAnswers) for (i, a) in enumerate(question1.answers.answers): if i == 0: self.assertTrue('Canada' in a.question) self.assertTrue('Ottawa' in a.answer) if i == 1: self.assertTrue('Italie' in a.question) self.assertTrue('Rome' in a.answer) if i == 2: self.assertTrue('Japon' in a.question) self.assertTrue('Tokyo' in a.answer) if i == 3: self.assertTrue('Inde' in a.question) self.assertTrue('New Delhi' in a.answer) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1
def testParseError(self): """ test the fail value of :func:`pygift._parseAnswer` """ q = pygift.Question('', '', '') q._parseAnswer('blazqopk') self.assertFalse(q.valid) q.myprint() self.assertEqual('', q.toHTML())
def testParseEssay(self): """ """ io_essay = (""" Blablablablabla {} """) #ESSAY question1 = pygift.Question('', '', '') question1.parse(io_essay) self.assertIsInstance(question1.answers, pygift.Essay) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1
def testParseDescription(self): """ """ io_descrip = (""" Blablablablabla """) #DESCRIP question1 = pygift.Question('', '', '') question1.parse(io_descrip) self.assertIsInstance(question1.answers, pygift.Description) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1
def testParseMultiChoiceSet(self): """ """ io_choice1 = (""" Parmi ces personnes, nommez-en deux qui sont enterrées dans la Grant's tomb. { ~%-100%Personne ~%50%Grant ~%50%L'épouse de Grant ~%-100%Le père de Grant } """) io_choice2 = (""" question { ~%33.33333%Bonne réponse ~%33.33333%Bonne réponse ~%33.33333%Bonne réponse ~%0%Mauvaise réponse ~%0%Mauvaise réponse } """) #CHOICE1 question1 = pygift.Question('', '', '') question1.parse(io_choice1) self.assertIsInstance(question1.answers, pygift.MultipleChoicesSet) for (i, a) in enumerate(question1.answers.answers): if i == 0: self.assertTrue('Personne' in a.answer) self.assertEqual(-100, float(a.fraction)) if i == 1: self.assertTrue('Grant' in a.answer) self.assertEqual(50, float(a.fraction)) if i == 2: self.assertTrue("L'épouse de Grant" in a.answer) self.assertEqual(50, float(a.fraction)) if i == 3: self.assertTrue('Le père de Grant' in a.answer) self.assertEqual(-100, float(a.fraction)) ##TEST MY PRINT !! ## question1.myprint() print('\n') del question1 #CHOICE2 question2 = pygift.Question('', '', '') question2.parse(io_choice2) self.assertIsInstance(question2.answers, pygift.MultipleChoicesSet) for (i, a) in enumerate(question2.answers.answers): if i == 0: self.assertTrue('Bonne réponse' in a.answer) self.assertEqual(33.33333, float(a.fraction)) if i == 1: self.assertTrue('Bonne réponse' in a.answer) self.assertEqual(33.33333, float(a.fraction)) if i == 2: self.assertTrue('Bonne réponse' in a.answer) self.assertEqual(33.33333, float(a.fraction)) if i == 3: self.assertTrue('Mauvaise réponse' in a.answer) self.assertEqual(0, float(a.fraction)) if i == 4: self.assertTrue('Mauvaise réponse' in a.answer) self.assertEqual(0, float(a.fraction)) ##TEST MY PRINT !! ## question2.myprint() print('\n') del question2
def testParseSelectSet(self): """ """ io_mult1 = (""" Qui repose dans la Grant's tomb ? {=Grant ~Personne ~Napoléon ~Churchill ~Mère Teresa} """) io_mult2 = (""" // Question : 1 Nom : Grant's tomb ::Grant's tomb::Qui repose dans la Grant's tomb à New-York ? { =Grant ~Personne #C'était vrai pendant 12 ans, mais la dépouille de Grant a été enterrée dans cette tombe en 1897. ~Napoléon #Il a été enterré en France. ~Churchill #Il a été enterré en Angleterre. ~Mère Teresa #Elle a été enterrée en Inde. } """) # mult1 question1 = pygift.Question('', '', '') question1.parse(io_mult1) self.assertIsInstance(question1.answers, pygift.SelectSet) for (i, a) in enumerate(question1.answers.answers): self.assertIsInstance(a, pygift.AnswerInList) if i == 0: self.assertTrue('Grant' in a.answer) self.assertEqual(a.fraction, 100) else: self.assertEqual(a.fraction, 0) if i == 1: self.assertTrue('Personne' in a.answer) if i == 2: self.assertTrue('Napoléon' in a.answer) if i == 3: self.assertTrue('Churchill' in a.answer) if i == 4: self.assertTrue('Mère Teresa' in a.answer) # #TEST MY PRINT !! ## question1.myprint() print('\n') del question1 # mult2 question2 = pygift.Question('', '', '') question2.parse(io_mult2) self.assertIsInstance(question2.answers, pygift.SelectSet) for (i, a) in enumerate(question2.answers.answers): self.assertIsInstance(a, pygift.AnswerInList) if i == 0: self.assertTrue('Grant' in a.answer) self.assertEqual(a.fraction, 100) else: self.assertEqual(a.fraction, 0) if i == 1: self.assertTrue('Personne' in a.answer) self.assertTrue( "C'était vrai pendant 12 ans, mais la dépouille de Grant a été enterrée dans cette tombe en 1897." in a.feedback) if i == 2: self.assertTrue('Napoléon' in a.answer) self.assertTrue("Il a été enterré en France." in a.feedback) if i == 3: self.assertTrue('Churchill' in a.answer) self.assertTrue( "Il a été enterré en Angleterre." in a.feedback) if i == 4: self.assertTrue('Mère Teresa' in a.answer) self.assertTrue('Elle a été enterrée en Inde.' in a.feedback) ##TEST MY PRINT !! ## question2.myprint() print('\n') del question2