Save
This commit is contained in:
@@ -77,11 +77,12 @@ class CompleteRouteTests(unittest.TestCase):
|
||||
library = sequences.Library((sequences.Sequence('descending', (-1, -1)), sequences.Sequence('wrong', (1, 1))))
|
||||
template = notes(('g', 'c', 'e'))
|
||||
result = routes.candidates(template, {'n0', 'n2'}, harmony, library, (55, 79))
|
||||
self.assertEqual(len(result), 1)
|
||||
self.assertEqual([n.pitch.number() for n in result[0].notes], [67, 65, 64])
|
||||
self.assertEqual(result[0].sources, ('descending',))
|
||||
self.assertEqual(result[0].destination, template[-1])
|
||||
self.assertTrue(harmony.evaluate(result[0].notes).valid)
|
||||
# Explicit repeated-attack primitives can also complete a chord traversal.
|
||||
# The authored route itself must survive intact, without nearest-note repair.
|
||||
selected=next(r for r in result if r.sources==('descending',))
|
||||
self.assertEqual([n.pitch.number() for n in selected.notes], [67, 65, 64])
|
||||
self.assertTrue(all(r.destination==template[-1] for r in result))
|
||||
self.assertTrue(all(harmony.evaluate(r.notes).valid for r in result))
|
||||
def test_route_cannot_repair_a_forbidden_fixed_pitch(self):
|
||||
harmony = harmonic.Harmony(passages.choices(('C7',)))
|
||||
library = sequences.Library((sequences.Sequence('descending', (-1, -1)),))
|
||||
|
||||
Reference in New Issue
Block a user