Rhythm Time Signatures
This commit is contained in:
@@ -160,13 +160,13 @@ class GuitarTests(unittest.TestCase):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
source, output = Path(temporary) / 'source', Path(temporary) / 'output'
|
||||
source.mkdir()
|
||||
(source / '000.xml').write_text(xml_score(xml_note('E', alter=-1), '<key><fifths>-3</fifths></key>'))
|
||||
(source / '0000.xml').write_text(xml_score(xml_note('E', alter=-1), '<key><fifths>-3</fifths></key>'))
|
||||
self.assertEqual(generate_practice_scores(source, output), 3)
|
||||
validate_practice_parts(output)
|
||||
first = {p.name: p.read_bytes() for p in output.rglob('*.json')}
|
||||
generate_practice_scores(source, output)
|
||||
self.assertEqual(first, {p.name: p.read_bytes() for p in output.rglob('*.json')})
|
||||
(output / '000/vocal.json').unlink()
|
||||
(output / '0000/vocal.json').unlink()
|
||||
with self.assertRaisesRegex(ValueError, 'practice generator drift'):
|
||||
validate_practice_parts(output)
|
||||
def test_unplayable_generation_preserves_previous_assets(self):
|
||||
@@ -174,12 +174,12 @@ class GuitarTests(unittest.TestCase):
|
||||
root = Path(temporary)
|
||||
(root / 'data/songs').mkdir(parents=True)
|
||||
(root / 'data/practice').mkdir()
|
||||
(root / 'data/practice/001.xml').write_text(xml_score(xml_note(octave=7, alter=1)))
|
||||
(root / 'data/practice/0001.xml').write_text(xml_score(xml_note(octave=7, alter=1)))
|
||||
output = root / 'output'
|
||||
output.mkdir()
|
||||
(output / 'last-good').write_text('preserved')
|
||||
args = argparse.Namespace(data_dir=root / 'data', output_dir=output, static_assets_dir=Path('package/assets'), check=False)
|
||||
with self.assertRaisesRegex(ValueError, '001.xml, part electric:.*0-20'):
|
||||
with self.assertRaisesRegex(ValueError, '0001.xml, part electric:.*0-20'):
|
||||
generate_assets(args)
|
||||
self.assertEqual([p.name for p in output.iterdir()], ['last-good'])
|
||||
self.assertEqual((output / 'last-good').read_text(), 'preserved')
|
||||
|
||||
Reference in New Issue
Block a user