Rhythm Time Signatures
This commit is contained in:
@@ -34,7 +34,7 @@ class CatalogTests(unittest.TestCase):
|
||||
document = bundle('Song', 'F')
|
||||
write_score(self.root, 'songs/tune.json', document)
|
||||
for part in ('Acoustic', 'Electric', 'Vocal'):
|
||||
write_score(self.root, f'practice/001/{part.lower()}.json', bundle('Exercise', 'Eb', part))
|
||||
write_score(self.root, f'practice/0001/{part.lower()}.json', bundle('Exercise', 'Eb', part))
|
||||
database = build_catalog(self.root)
|
||||
self.assertEqual(database, self.root / 'catalog.db')
|
||||
song = self.rows('songs')[0]
|
||||
@@ -42,8 +42,8 @@ class CatalogTests(unittest.TestCase):
|
||||
self.assertEqual((song['id'], song['part'], song['source_path']), ('tune', 'Lead', 'songs/tune.json'))
|
||||
self.assertEqual((song['measure_count'], song['total_pages']), (1, 1))
|
||||
practice = self.rows('practice_exercises')
|
||||
self.assertEqual([row['id'] for row in practice], ['001-acoustic', '001-electric', '001-vocal'])
|
||||
self.assertEqual(practice[0]['exercise_id'], '001')
|
||||
self.assertEqual([row['id'] for row in practice], ['0001-acoustic', '0001-electric', '0001-vocal'])
|
||||
self.assertEqual(practice[0]['exercise_id'], '0001')
|
||||
self.assertNotIn('practice_type_id', practice[0])
|
||||
self.assertNotIn('lesson_group_id', practice[0])
|
||||
self.assertEqual(practice[0]['key_signature'], 'Eb')
|
||||
@@ -82,15 +82,15 @@ class CatalogTests(unittest.TestCase):
|
||||
self.assertFalse(list(self.root.glob('.vamp-catalog-*')))
|
||||
def test_missing_parts_and_metadata_disagreement_fail(self):
|
||||
for part in ('Acoustic', 'Electric'):
|
||||
write_score(self.root, f'practice/001/{part.lower()}.json', bundle(part=part))
|
||||
write_score(self.root, f'practice/0001/{part.lower()}.json', bundle(part=part))
|
||||
with self.assertRaisesRegex(ValueError, 'all three parts'):
|
||||
build_catalog(self.root)
|
||||
write_score(self.root, 'practice/001/vocal.json', bundle(key='F', part='Vocal'))
|
||||
write_score(self.root, 'practice/0001/vocal.json', bundle(key='F', part='Vocal'))
|
||||
with self.assertRaisesRegex(ValueError, 'disagree'):
|
||||
build_catalog(self.root)
|
||||
def test_keyless_parts_preserve_their_original_key(self):
|
||||
for part in ('Acoustic', 'Electric', 'Vocal'):
|
||||
write_score(self.root, f'practice/001/{part.lower()}.json', bundle(key='No key', part=part))
|
||||
write_score(self.root, f'practice/0001/{part.lower()}.json', bundle(key='No key', part=part))
|
||||
build_catalog(self.root)
|
||||
self.assertTrue(all(row['key_signature'] == 'No key' for row in self.rows('practice_exercises')))
|
||||
def test_invalid_layout_and_escaping_source_fail(self):
|
||||
|
||||
Reference in New Issue
Block a user