コード例 #1
0
 def test_missing_pitches_words(self):
     parser = ParserCantusText()
     section, eof = parser.parse('a b {cde fg}')
     a, _, b, _, missing = section[0]
     self.assertEqual(missing.rule_name, 'missing_pitches')
     self.assertEqual(a.rule_name, 'word')
     self.assertEqual(b.rule_name, 'word')
コード例 #2
0
 def test_tilda_text(self):
     # TODO how to convert this? See chant_003353
     text = "Et ab ~parce servo tuo"
     parser = ParserCantusText()
     parse = parser.parse(text)
     words = parse[0][0]
     et, _, ab, _, tilda = words
     self.assertEqual(tilda.rule_name, 'tilda')
コード例 #3
0
 def test_section_end(self):
     parser = ParserCantusText()
     parse = parser.parse('a b | c |')
     section1, bar1, section2, bar2, eof = parse
     self.assertEqual(section1.rule_name, 'section')
     self.assertEqual(bar1.rule_name, 'barline')
     self.assertEqual(section2.rule_name, 'section')
     self.assertEqual(bar2.rule_name, 'barline')
コード例 #4
0
 def test_parse_text_examples(self):
     """Test whether the manuscript text of all Cantus examples can be 
     parsed"""
     examples = pd.read_csv('chant21/examples/cantus-volpiano-examples.csv',
                            index_col=0)
     for idx, data in examples.iterrows():
         parser = ParserCantusText()
         parse = parser.parse(data['full_text_manuscript'])
         self.assertTrue(True)
コード例 #5
0
 def test_basic(self):
     parser = ParserCantusText()
     (words, ), EOF = parser.parse('this is a test')
     self.assertEqual(words.rule_name, 'words')
     this, _, word_is, _, a, _, test = words
     self.assertEqual(this.rule_name, 'word')
     self.assertEqual(word_is.rule_name, 'word')
     self.assertEqual(a.rule_name, 'word')
     self.assertEqual(test.rule_name, 'word')
コード例 #6
0
 def test_missing_pitches_syllables(self):
     parser = ParserCantusText()
     (words, ), eof = parser.parse('a b{cd}')
     a, _, b_, missing = words
     # TODO this is not optimal: should be one word
     self.assertEqual(missing.rule_name, 'missing_pitches')
コード例 #7
0
 def test_incipit(self):
     parser = ParserCantusText()
     parse = parser.parse('b a*')
     print(parse)
コード例 #8
0
 def test_ipsum(self):
     parser = ParserCantusText()
     parse = parser.parse('~Ipsum [c]')
     print(parse)
コード例 #9
0
 def test_psalm_incipit(self):
     parser = ParserCantusText()
     section, eof = parser.parse('~a b')
     self.assertEqual(section[0].rule_name, 'tilda')