plint

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

test_bad_chars.py (760B)


      1 import unittest
      2 
      3 import plint.pattern
      4 from plint import verse, template
      5 
      6 
      7 class BadChars(unittest.TestCase):
      8     def testBadAlone(self):
      9         v = verse.Verse("42", template.Template(), plint.pattern.Pattern("12"))
     10         v.parse()
     11         self.assertFalse(v.valid())
     12 
     13     def testBadAndGood(self):
     14         v = verse.Verse("bla h42 blah ", template.Template(), plint.pattern.Pattern("12"))
     15         v.parse()
     16         self.assertFalse(v.valid())
     17 
     18     def getWeight(self, align):
     19         return sum(x.get('weight', 0) for x in align)
     20 
     21     def achievesPossibility(self, aligns, target):
     22         for align in aligns:
     23             if self.getWeight(align) == target:
     24                 return True
     25         return False
     26 
     27 
     28 if __name__ == "__main__":
     29     unittest.main()