Sepearate Generation
This commit is contained in:
@@ -53,11 +53,11 @@ def held_half_bar(sounding=True):
|
||||
), fractions.Fraction(4))
|
||||
|
||||
class RhythmLibraryTests(unittest.TestCase):
|
||||
def test_unbracketed_time_modifications_are_rejected(self):
|
||||
def test_unbracketed_time_modifications_preserve_exact_ratios(self):
|
||||
extra = '<time-modification><actual-notes>3</actual-notes><normal-notes>2</normal-notes></time-modification>'
|
||||
source = xml_bars([tests.test_musicxml.xml_note(duration=2, kind='quarter', extra=extra) * 6], divisions=3)
|
||||
with self.assertRaisesRegex(ValueError, 'time modifications'):
|
||||
self.load({'4_4/1/ratio.xml': source})
|
||||
library=self.load({'4_4/1/ratio.xml': source})
|
||||
self.assertTrue(all(e.ratio==fractions.Fraction(2,3) for e in library.for_meter('4/4')[0].bars[0].events))
|
||||
def load(self, sources):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = pathlib.Path(temporary)
|
||||
@@ -169,7 +169,6 @@ class RhythmLibraryTests(unittest.TestCase):
|
||||
'grace': xml_bars(['<note><grace/><pitch><step>D</step><octave>4</octave></pitch><type>eighth</type></note>' + whole]),
|
||||
'spacer': xml_bars(['<forward><duration>1</duration><voice>1</voice></forward>' + quarter * 3]),
|
||||
'tremolo': xml_bars([tests.test_musicxml.xml_note(extra='<notations><ornaments><tremolo type="single">1</tremolo></ornaments></notations>')]),
|
||||
'tuplet': xml_bars([triplet + tests.test_musicxml.xml_note(duration=9, kind='half', extra='<dot/>')], divisions=3),
|
||||
'malformed XML': '<broken',
|
||||
'wrong root': '<score-timewise version="4.0"/>',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user