plint

French poetry validator (local mirror of https://gitlab.com/a3nm/plint)
git clone https://a3nm.net/git/plint/
Log | Files | Refs | README

test_gender.py (2155B)


      1 import unittest
      2 
      3 import plint.pattern
      4 from plint import verse, template
      5 
      6 
      7 class Genders(unittest.TestCase):
      8     def testSingleSyllJe(self):
      9         text = "Patati patata patatatah où suis-je"
     10         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     11         v.parse()
     12         gend = v.genders()
     13         self.assertTrue(v.valid())
     14         self.assertEqual(1, len(gend))
     15         self.assertEqual('F', next(iter(gend)))
     16 
     17     def testSingleSyllJeBis(self):
     18         text = "Patati patata patatah la verrai-je"
     19         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     20         v.parse()
     21         gend = v.genders()
     22         self.assertTrue(v.valid())
     23         self.assertEqual(1, len(gend))
     24         self.assertEqual('F', next(iter(gend)))
     25 
     26     def testSingleSyllLe(self):
     27         text = "Patati patata patatata prends-le"
     28         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     29         v.parse()
     30         gend = v.genders()
     31         self.assertTrue(v.valid())
     32         self.assertEqual(1, len(gend))
     33         self.assertEqual('F', next(iter(gend)))
     34 
     35     def testSingleSyllCe(self):
     36         text = "Patati patata patatata mais qu'est-ce"
     37         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     38         v.parse()
     39         gend = v.genders()
     40         self.assertTrue(v.valid())
     41         self.assertEqual(1, len(gend))
     42         self.assertEqual('F', next(iter(gend)))
     43 
     44     def testSingleSyllHyphen(self):
     45         text = "Patati patata patata mange-les"
     46         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     47         v.parse()
     48         gend = v.genders()
     49         self.assertTrue(v.valid())
     50         self.assertEqual(1, len(gend))
     51         self.assertEqual('M', next(iter(gend)))
     52 
     53     def testSingleSyllNoHyphen(self):
     54         text = "Patati patata patata mange les"
     55         v = verse.Verse(text, template.Template(), plint.pattern.Pattern("12"))
     56         v.parse()
     57         gend = v.genders()
     58         self.assertTrue(v.valid())
     59         self.assertEqual(1, len(gend))
     60         self.assertEqual('M', next(iter(gend)))
     61 
     62 
     63 if __name__ == "__main__":
     64     unittest.main()