def testOne(self): core.config.chords = TimeList() core.config.harmonies = TimeList() harm = createProblem() addHarmony(harm, Chord("C", None, 0), "I") addHarmonyRules(harm) solutions = solveProblem(harm) self.assertEqual(len(solutions), 42)
def testDiminished(self): core.config.chords = TimeList() core.config.harmonies = TimeList() harm = createProblem() gsharpdim7 = Chord("G#", ["dim7"], 0, "G#") addHarmony(harm, gsharpdim7, "vii7") addHarmonyRules(harm) solutions = solveProblem(harm) firstSolution = solutions[0][1] firstSolution = [x[1] for x in firstSolution] self.assertTrue(self.solutionHasNotes(firstSolution, ["G#", "B", "D", "F"]))
def testSequence(self): core.config.chords = TimeList() core.config.harmonies = TimeList() harm = createProblem() emin = Chord("E", ["min"], 0, "E") A7 = Chord("A", ["7"], 1, "E") dmin = Chord("D", ["min"], 2, "D") G7 = Chord("G", ["7"], 3, "D") C = Chord("C", None, 4, "C") addHarmony(harm, emin, "iii") addHarmony(harm, A7, "V43/ii") addHarmony(harm, dmin, "ii") addHarmony(harm, G7, "V43") addHarmony(harm, C, "I") addHarmonyRules(harm) solutions = solveProblem(harm) self.assertEqual(len(solutions), 128)
def insert_test(): tlist = TimeList() tlist.add(0, "a") if len(tlist) != 1: print "1, ", tlist.items, len(tlist) return False tlist.add(1, "b") if len(tlist) != 2: print "2, ", tlist.items, len(tlist) return False tlist.add(100, "way out there") return len(tlist) == 2
def empty_test(): tlist = TimeList() return 0 == len(tlist)
def remove_test(): tlist = TimeList() tlist.add(0, "a") tlist.remove(0) if len(tlist) != 0: return False if (tlist.remove(0) != False) and (tlist.remove(1003) != False): return False tlist.add(3, "c") tlist.add(1, "a") tlist.add(2, "b") if len(tlist) != 0: return False tlist.add(0, "-a") if len(tlist) != 4: return False tlist.remove(0) if len(tlist) != 0: return False