def test_4_5_hyphens_strict(self):
        parser = ParserCantusVolpiano()
        test_fn = lambda: parser.parse('1---f----f', strict=True)
        self.assertRaises(HyphenationError, test_fn)

        parser = ParserCantusVolpiano()
        test_fn = lambda: parser.parse('1---f-----f', strict=True)
        self.assertRaises(HyphenationError, test_fn)
 def test_too_few_hyphens_before_barline_strict(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1---f-3', strict=True)
     self.assertRaises(HyphenationError, test_fn)
     test_fn = lambda: parser.parse('1---f--3', strict=True)
     self.assertRaises(HyphenationError, test_fn)
     test_fn = lambda: parser.parse('1---f--4', strict=True)
     self.assertRaises(HyphenationError, test_fn)
    def test_missing_pitches_hyphenation_strict(self):
        parser = ParserCantusVolpiano()
        test_fn = lambda: parser.parse('1---f--6------6---f', strict=True)
        self.assertRaises(HyphenationError, test_fn)
        test_fn = lambda: parser.parse('1---f---6------6--f', strict=True)
        self.assertRaises(HyphenationError, test_fn)

        test_fn = lambda: parser.parse('1---f---76------677--f', strict=True)
        self.assertRaises(HyphenationError, test_fn)
 def test_too_few_hyphens_after_barline_not_strict(self):
     parser = ParserCantusVolpiano()
     parser.parse('1---f---3-f', strict=False)
     parser.parse('1---f---3--f', strict=False)
     parser.parse('1---f---4-f', strict=False)
     parser.parse('1---f---4--f', strict=False)
     self.assertTrue(True)
 def test_volpiano(self):
     parser = ParserCantusVolpiano(root='volpiano')
     parse = parser.parse('1---fgf-ef--fg-h---f-g')
     word0, bound1, word1, bound2, word2, EOF = parse
     self.assertEqual(word0.rule_name, 'word')
     self.assertEqual(bound1.rule_name, 'word_boundary')
     self.assertEqual(word1.rule_name, 'word')
     self.assertEqual(bound2.rule_name, 'word_boundary')
     self.assertEqual(word2.rule_name, 'word')
     self.assertEqual(EOF.rule_name, 'EOF')
 def test_4_5_hyphens_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1---f----f-g--g----gf', strict=False)
     self.assertTrue(True)
 def test_missing_clef(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('f---f')
     self.assertRaises(ClefError, test_fn)
 def test_thick_barline_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1---f---5', strict=False)
     self.assertTrue(True)
 def test_thick_barline_strict(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1---f---5', strict=True)
     self.assertRaises(BarlineError, test_fn)
 def test_double_3_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1---f---33---g', strict=False)
     self.assertTrue(True)
 def test_double_3_strict(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1---f---33---g', strict=True)
     self.assertRaises(BarlineError, test_fn)
 def test_missing_pitches_too_many_hyphens_not_strict(self):
     parser = ParserCantusVolpiano()
     parser.parse('1---6-------6', strict=False)
     parser.parse('1---6-------------6---f', strict=False)
     self.assertTrue(True)
 def test_missing_pitches_hyphenation_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1---f--6------6---f--6------6---g', strict=False)
     self.assertTrue(True)
     parse = parser.parse('1---f---76------677--f', strict=False)
     self.assertTrue(True)
 def test_dot_not_strict(self):
     parser = ParserCantusVolpiano()
     parser.parse('1---fg.', strict=False)
     self.assertTrue(True)
 def test_dot_strict(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1---fg.', strict=True)
     self.assertRaises(UnsupportedCharacterError, test_fn)
 def test_alternative_hyphenation_strict(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1--fg-f--g', strict=True)
     self.assertRaises(HyphenationError, test_fn)
 def test_mixed_hyphenation_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1--f---f', strict=False)
     self.assertTrue(True)
 def test_hyphensAtEnd(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1---l-')
     self.assertFalse(parse.error)
     parse = parser.parse('1---l--')
     self.assertFalse(parse.error)
 def test_alternative_hyphenation_not_strict(self):
     parser = ParserCantusVolpiano()
     parse = parser.parse('1--fg-f-f--g', strict=False)
     vol = parse.value.replace(' ', '').replace('|', '')
     self.assertEqual(vol, '1---fg--f--f---g')
 def test_invalid_clef_hyphenation(self):
     parser = ParserCantusVolpiano()
     test_fn = lambda: parser.parse('1-f---f')
     self.assertRaises(HyphenationError, test_fn)
     test_fn = lambda: parser.parse('1f---f')
     self.assertRaises(HyphenationError, test_fn)