Fix Generation
ci / checks (push) Successful in 1h10m16s

This commit is contained in:
khodowany
2026-09-26 23:28:13 -05:00
parent 3beeb87549
commit a416a80dd9
6 changed files with 36 additions and 19 deletions
+2 -2
View File
@@ -79,12 +79,12 @@ class AcousticVoicingTests(unittest.TestCase):
self.assertEqual(tests.test_acoustic.sounding(document), before)
generator.model.validate_document(document)
def test_simpler_fifth_bass_can_win_without_alternating(self):
document = planned_document([[(0, 'Cdim7')], []])
document = planned_document([[(0, 'Csus')], []])
spans = self.place(document)
self.assertEqual(len(spans), 1)
bass = [p for n in spans[0].notes for p in shape(n) if p.string_number >= 5]
self.assertTrue(bass)
self.assertEqual({p.midi % 12 for p in bass}, {6})
self.assertEqual({p.midi % 12 for p in bass}, {7})
root_shapes = generator.guitar.chord_positions(*generator.guitar.chord_requirements(spans[0].harmony, 'acoustic'), profile='acoustic')
selected = tuple(sorted({p for n in spans[0].notes for p in shape(n)}, reverse=True))
self.assertLess(generator.guitar.voicing_cost(selected, 'acoustic'), min(generator.guitar.voicing_cost(s, 'acoustic') for s in root_shapes))