Fix Playability
ci / checks (push) Failing after 23m26s

This commit is contained in:
khodowany
2026-10-08 19:04:06 -05:00
parent bc7baea7c4
commit 3f63b255ac
23 changed files with 633 additions and 374 deletions
+3 -2
View File
@@ -56,7 +56,7 @@ class FretPolicyTests(unittest.TestCase):
costs = {v: generator.comping.local_cost('acoustic', key, v, 55) for v in (primary, fallback)}
# Movement/family wins cannot purchase entry into the four-fret tier.
costs[primary] = costs[primary]._replace(effort=100000)
path, cost = generator.comping.select_grips(((primary, fallback),), (costs,), 'acoustic', 'tiers', left=fallback, right=fallback)
path, cost, hands = generator.comping.select_grips(((primary, fallback),), (costs,), 'acoustic', 'tiers', left=fallback, right=fallback)
self.assertEqual(path, (primary,))
self.assertEqual(cost.extended_grips, 0)
states = [generator.acoustic_voicing.Placement(generator.acoustic_voicing.Cost(), fallback)]
@@ -68,7 +68,8 @@ class FretPolicyTests(unittest.TestCase):
best = choices[0]
self.assertEqual(generator.fretboard.span_penalty(best), 0)
self.assertEqual(min(p.string_number for p in best if p.midi == 65), 2)
self.assertEqual(max(p.midi for p in best), 65)
self.assertIn(65, {p.midi for p in best})
self.assertIn(1, {p.string_number for p in best})
self.assertTrue(any(generator.fretboard.span_penalty(v) and any(p.midi == 65 and p.string_number == 1 for p in v) for v in choices))
primary_cost = generator.guitar.voicing_cost(best, 'electric', melody=(65,)).moved(100000)
self.assertTrue(all(primary_cost < generator.guitar.voicing_cost(v, 'electric', melody=(65,)) for v in choices if generator.fretboard.span_penalty(v)))