Rhythm Time Signatures

This commit is contained in:
khodowany
2026-09-26 01:44:04 -05:00
parent 4485eb7413
commit 4d6348d354
3099 changed files with 203023 additions and 57 deletions
+4 -4
View File
@@ -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')