예제 #1
0
 def test_sharp_11(self):
     chord1 = pm.Chord("A(#4)")
     chord2 = pm.Chord("F#m(#11)")
     chord3 = pm.Chord("B-(#11)")
     chord4 = pm.Chord("G7#11")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("A4", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("A4", chord2.intervals)
     self.assertIn("m3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("A4", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("A4", chord4.intervals)
     self.assertNotIn("P4", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("P4", chord2.intervals)
     self.assertNotIn("m7", chord2.intervals)
     self.assertNotIn("P4", chord3.intervals)
     self.assertNotIn("m7", chord3.intervals)
     self.assertNotIn("P4", chord4.intervals)
예제 #2
0
 def test_add_9(self):
     chord1 = pm.Chord("Eadd9")
     chord2 = pm.Chord("G#m(add2)")
     chord3 = pm.Chord("Ab-(add9)")
     chord4 = pm.Chord("C2")
     chord5 = pm.Chord("Amaj(add9)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M2", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M2", chord2.intervals)
     self.assertIn("m3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M2", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("M2", chord4.intervals)
     self.assertIn("M3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M2", chord5.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("m7", chord2.intervals)
     self.assertNotIn("m7", chord3.intervals)
     self.assertNotIn("m7", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
     self.assertNotIn("M7", chord5.intervals)
예제 #3
0
 def test_flat_6(self):
     chord1 = pm.Chord("A(b6)")
     chord2 = pm.Chord("F#m7(b6)")
     chord3 = pm.Chord("B9(b13)")
     chord4 = pm.Chord("G7(#9)(b13)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("m6", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("m6", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("m6", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("A2", chord4.intervals)
     self.assertIn("m6", chord4.intervals)
     self.assertNotIn("M6", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("M6", chord2.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("M6", chord3.intervals)
     self.assertNotIn("m2", chord3.intervals)
     self.assertNotIn("M6", chord4.intervals)
     self.assertNotIn("m2", chord4.intervals)
예제 #4
0
 def test_six(self):
     chord1 = pm.Chord("A6")
     chord2 = pm.Chord("F#m(6)")
     chord3 = pm.Chord("Db6/9")
     chord4 = pm.Chord("Gmin(6/9)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M6", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M6", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M2", chord3.intervals)
     self.assertIn("M6", chord3.intervals)
     self.assertIn("m3", chord4.intervals)
     self.assertIn("M6", chord4.intervals)
     self.assertIn("M2", chord4.intervals)
     self.assertNotIn("m6", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("m6", chord2.intervals)
     self.assertNotIn("m7", chord2.intervals)
     self.assertNotIn("m7", chord3.intervals)
     self.assertNotIn("m2", chord3.intervals)
     self.assertNotIn("m7", chord4.intervals)
     self.assertNotIn("m6", chord4.intervals)
예제 #5
0
 def test_7(self):
     chord1 = pm.Chord("E7")
     chord2 = pm.Chord("Fmin7")
     chord3 = pm.Chord("Bbm7")
     chord4 = pm.Chord("Cmin7")
     chord5 = pm.Chord("Cminor7(b5)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("m3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("m3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("m3", chord5.intervals)
     self.assertIn("D5", chord5.intervals)
     self.assertIn("m7", chord5.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("M7", chord3.intervals)
     self.assertNotIn("M7", chord4.intervals)
     self.assertNotIn("M7", chord5.intervals)
     self.assertNotIn("P5", chord5.intervals)
예제 #6
0
 def test_maj_7(self):
     chord1 = pm.Chord("Emaj7")
     chord2 = pm.Chord("Fmajor7")
     chord3 = pm.Chord("BbM7")
     chord4 = pm.Chord("Cmin(maj7)")
     chord5 = pm.Chord("CminorM7")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M7", chord1.intervals)
     self.assertIn("M3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M7", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M7", chord3.intervals)
     self.assertIn("m3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("M7", chord4.intervals)
     self.assertIn("m3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertNotIn("m3", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("m3", chord2.intervals)
     self.assertNotIn("m7", chord2.intervals)
     self.assertNotIn("m3", chord3.intervals)
     self.assertNotIn("m7", chord3.intervals)
     self.assertNotIn("M3", chord4.intervals)
     self.assertNotIn("m7", chord4.intervals)
     self.assertNotIn("M3", chord5.intervals)
     self.assertNotIn("m7", chord5.intervals)
예제 #7
0
 def test_power_chord(self):
     pow1 = pm.Chord("E5")
     pow2 = pm.Chord("F no 3rd")
     pow3 = pm.Chord("Bb(no3)")
     pow4 = pm.Chord("C#no3")
     self.assertIn("P5", pow1.intervals)
     self.assertIn("P5", pow2.intervals)
     self.assertIn("P5", pow3.intervals)
     self.assertIn("P5", pow4.intervals)
     self.assertNotIn("M3", pow1.intervals)
     self.assertNotIn("M3", pow2.intervals)
     self.assertNotIn("M3", pow3.intervals)
     self.assertNotIn("M3", pow4.intervals)
예제 #8
0
 def test_maj_chord(self):
     maj1 = pm.Chord("A")
     maj2 = pm.Chord("Gmaj")
     maj3 = pm.Chord("Bmajor")
     maj4 = pm.Chord("C maj")
     self.assertIn("M3", maj1.intervals)
     self.assertIn("P5", maj1.intervals)
     self.assertIn("M3", maj2.intervals)
     self.assertIn("P5", maj2.intervals)
     self.assertIn("M3", maj3.intervals)
     self.assertIn("P5", maj4.intervals)
     self.assertIn("M3", maj4.intervals)
     self.assertNotIn("M7", maj2.intervals)
     self.assertNotIn("M7", maj3.intervals)
     self.assertNotIn("M7", maj4.intervals)
예제 #9
0
 def test_min_chord(self):
     min1 = pm.Chord("E-")
     min2 = pm.Chord("Fmin")
     min3 = pm.Chord("Bbminor")
     min4 = pm.Chord("C# min")
     self.assertIn("m3", min1.intervals)
     self.assertIn("P5", min1.intervals)
     self.assertIn("m3", min2.intervals)
     self.assertIn("P5", min2.intervals)
     self.assertIn("m3", min3.intervals)
     self.assertIn("P5", min4.intervals)
     self.assertIn("m3", min4.intervals)
     self.assertNotIn("m7", min1.intervals)
     self.assertNotIn("m7", min2.intervals)
     self.assertNotIn("m7", min3.intervals)
     self.assertNotIn("m7", min4.intervals)
예제 #10
0
 def test_alt(self):
     chord1 = pm.Chord("A7alt")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("m2", chord1.intervals)
     self.assertIn("m6", chord1.intervals)
예제 #11
0
 def test_aug_chord(self):
     aug1 = pm.Chord("G+")
     aug2 = pm.Chord("F + ")
     aug3 = pm.Chord("Ab augmented")
     aug4 = pm.Chord("Daug")
     self.assertIn("M3", aug1.intervals)
     self.assertIn("A5", aug1.intervals)
     self.assertIn("M3", aug2.intervals)
     self.assertIn("A5", aug2.intervals)
     self.assertIn("M3", aug3.intervals)
     self.assertIn("A5", aug4.intervals)
     self.assertIn("M3", aug4.intervals)
     self.assertNotIn("P5", aug1.intervals)
     self.assertNotIn("P5", aug2.intervals)
     self.assertNotIn("P5", aug3.intervals)
     self.assertNotIn("P5", aug4.intervals)
예제 #12
0
 def test_dim_chord(self):
     dim1 = pm.Chord("Go")
     dim2 = pm.Chord("Fdim")
     dim3 = pm.Chord("Abdiminished")
     dim4 = pm.Chord("D°")
     self.assertIn("m3", dim1.intervals)
     self.assertIn("D5", dim1.intervals)
     self.assertIn("m3", dim2.intervals)
     self.assertIn("D5", dim2.intervals)
     self.assertIn("m3", dim3.intervals)
     self.assertIn("D5", dim4.intervals)
     self.assertIn("m3", dim4.intervals)
     self.assertNotIn("P5", dim1.intervals)
     self.assertNotIn("D7", dim1.intervals)
     self.assertNotIn("P5", dim2.intervals)
     self.assertNotIn("P5", dim3.intervals)
     self.assertNotIn("P5", dim4.intervals)
예제 #13
0
    def test_spelling(self):
        chord1 = pm.Chord("A")
        chord2 = pm.Chord("F#m")
        chord3 = pm.Chord("Db6/9")
        chord4 = pm.Chord("Gmin7")
        chord5 = pm.Chord("Bø")
        chord6 = pm.Chord("Gmin9")
        chord7 = pm.Chord("F9(b13)")
        chord8 = pm.Chord("Fmin(maj7))")

        self.assertEqual(len(chord1), 3)
        self.assertEqual(len(chord2), 3)
        self.assertEqual(len(chord3), 5)
        self.assertEqual(len(chord4), 4)
        self.assertEqual(len(chord5), 4)
        self.assertEqual(len(chord6), 5)
        self.assertEqual(len(chord7), 6)
        self.assertEqual(len(chord8), 4)

        self.assertEqual(chord1[0].name, "A")
        self.assertEqual(chord1[1].name, "C#")
        self.assertEqual(chord1[2].name, "E")
        self.assertEqual(chord2[0].name, "F#")
        self.assertEqual(chord2[1].name, "A")
        self.assertEqual(chord2[2].name, "C#")
        self.assertEqual(chord3[0].name, "Db")
        self.assertEqual(chord3[1].name, "F")
        self.assertEqual(chord3[2].name, "Ab")
        self.assertEqual(chord4[0].name, "G")
        self.assertEqual(chord4[1].name, "Bb")
        self.assertEqual(chord4[2].name, "D")
        self.assertEqual(chord4[3].name, "F")
        self.assertEqual(chord5[0].name, "B")
        self.assertEqual(chord5[1].name, "D")
        self.assertEqual(chord5[2].name, "F")
        self.assertEqual(chord5[3].name, "A")
        self.assertEqual(chord6[0].name, "G")
        self.assertEqual(chord6[1].name, "Bb")
        self.assertEqual(chord6[2].name, "D")
        self.assertEqual(chord6[3].name, "F")
        self.assertEqual(chord6[4].name, "A")
        self.assertEqual(chord7[0].name, "F")
        self.assertEqual(chord7[1].name, "A")
        self.assertEqual(chord7[2].name, "C")
        self.assertEqual(chord7[3].name, "Eb")
        self.assertEqual(chord7[4].name, "G")
        self.assertEqual(chord7[5].name, "Db")
        self.assertEqual(chord8[0].name, "F")
        self.assertEqual(chord8[1].name, "Ab")
        self.assertEqual(chord8[2].name, "C")
        self.assertEqual(chord8[3].name, "E")
예제 #14
0
 def test_half_dim_chord(self):
     half_dim1 = pm.Chord("Ehalfdim")
     half_dim2 = pm.Chord("F half diminished")
     half_dim3 = pm.Chord("Bhalfdiminished")
     half_dim4 = pm.Chord("G##ø")
     self.assertIn("m3", half_dim1.intervals)
     self.assertIn("D5", half_dim1.intervals)
     self.assertIn("m7", half_dim1.intervals)
     self.assertIn("m3", half_dim2.intervals)
     self.assertIn("D5", half_dim2.intervals)
     self.assertIn("m7", half_dim2.intervals)
     self.assertIn("m3", half_dim3.intervals)
     self.assertIn("m7", half_dim3.intervals)
     self.assertIn("D5", half_dim4.intervals)
     self.assertIn("m3", half_dim4.intervals)
     self.assertIn("m7", half_dim4.intervals)
     self.assertNotIn("P5", half_dim1.intervals)
     self.assertNotIn("D7", half_dim1.intervals)
     self.assertNotIn("D7", half_dim2.intervals)
     self.assertNotIn("D7", half_dim3.intervals)
     self.assertNotIn("D7", half_dim4.intervals)
예제 #15
0
 def test_sus_2_chord(self):
     sus1 = pm.Chord("Esus2")
     sus2 = pm.Chord("Fsuspended2")
     sus3 = pm.Chord("Bb suspended 2")
     sus4 = pm.Chord("C# sus 2")
     self.assertIn("M2", sus1.intervals)
     self.assertIn("P5", sus1.intervals)
     self.assertIn("M2", sus2.intervals)
     self.assertIn("P5", sus2.intervals)
     self.assertIn("M2", sus3.intervals)
     self.assertIn("P5", sus3.intervals)
     self.assertIn("M2", sus4.intervals)
     self.assertIn("P5", sus4.intervals)
     self.assertNotIn("M3", sus1.intervals)
     self.assertNotIn("M3", sus2.intervals)
     self.assertNotIn("M3", sus3.intervals)
     self.assertNotIn("M3", sus4.intervals)
     self.assertNotIn("P4", sus1.intervals)
     self.assertNotIn("P4", sus2.intervals)
     self.assertNotIn("P4", sus3.intervals)
     self.assertNotIn("P4", sus4.intervals)
예제 #16
0
 def test_add_4(self):
     chord1 = pm.Chord("E13(add4)")
     chord2 = pm.Chord("G#(add11)")
     chord3 = pm.Chord("B7add4")
     chord4 = pm.Chord("C7add11")
     chord5 = pm.Chord("Amaj13add4")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M2", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("M6", chord1.intervals)
     self.assertIn("P4", chord1.intervals)
     self.assertIn("M3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("P4", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P4", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("P4", chord1.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("P4", chord1.intervals)
     self.assertIn("M3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertIn("M2", chord5.intervals)
     self.assertIn("M6", chord5.intervals)
     self.assertIn("P4", chord1.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M2", chord2.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("M2", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
예제 #17
0
 def test_sharp_5(self):
     chord1 = pm.Chord("A(#5)")
     chord2 = pm.Chord("F#m7#5")
     chord3 = pm.Chord("B13(#5)(b9)")
     chord4 = pm.Chord("G7#5")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("A5", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("A5", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("A5", chord3.intervals)
     self.assertIn("m2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("A5", chord4.intervals)
     self.assertNotIn("P5", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("P5", chord2.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("P5", chord3.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("P5", chord4.intervals)
예제 #18
0
 def test_flat_5(self):
     chord1 = pm.Chord("A(b5)")
     chord2 = pm.Chord("F#m7b5")
     chord3 = pm.Chord("B13(b5)(b9)")
     chord4 = pm.Chord("G7b5")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("D5", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("D5", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("D5", chord3.intervals)
     self.assertIn("m2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("D5", chord4.intervals)
     self.assertNotIn("P5", chord1.intervals)
     self.assertNotIn("m7", chord1.intervals)
     self.assertNotIn("P5", chord2.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("P5", chord3.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("P5", chord4.intervals)
예제 #19
0
 def test_13_chord(self):
     chord1 = pm.Chord("E13")
     chord2 = pm.Chord("G#m13")
     chord3 = pm.Chord("G13(b9)")
     chord4 = pm.Chord("C13(#11)")
     chord5 = pm.Chord("Amaj13")
     chord6 = pm.Chord("Ebmin13(maj7)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M2", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("M6", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M2", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("M6", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("m2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("M6", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("M2", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("A4", chord4.intervals)
     self.assertIn("M6", chord4.intervals)
     self.assertIn("M3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertIn("M2", chord5.intervals)
     self.assertIn("M6", chord5.intervals)
     self.assertIn("m3", chord6.intervals)
     self.assertIn("P5", chord6.intervals)
     self.assertIn("M7", chord6.intervals)
     self.assertIn("M2", chord6.intervals)
     self.assertIn("P4", chord6.intervals)
     self.assertIn("M6", chord6.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M3", chord2.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("P4", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
     self.assertNotIn("m7", chord6.intervals)
예제 #20
0
 def test_sharp_9s(self):
     chord1 = pm.Chord("E13(#9)")
     chord2 = pm.Chord("G#(#9)")
     chord3 = pm.Chord("G11(#9)")
     chord4 = pm.Chord("C7#9")
     chord5 = pm.Chord("Amaj13(#9)")
     chord6 = pm.Chord("Ebmin13(maj7)(#9)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("A2", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("M6", chord1.intervals)
     self.assertIn("M3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("A2", chord2.intervals)
     self.assertIn("P4", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("A2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("A2", chord4.intervals)
     self.assertIn("m7", chord4.intervals)
     self.assertIn("M3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertIn("A2", chord5.intervals)
     self.assertIn("M6", chord5.intervals)
     self.assertIn("m3", chord6.intervals)
     self.assertIn("P5", chord6.intervals)
     self.assertIn("M7", chord6.intervals)
     self.assertIn("A2", chord6.intervals)
     self.assertIn("P4", chord6.intervals)
     self.assertIn("M6", chord6.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M2", chord1.intervals)
     self.assertNotIn("M2", chord2.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("M2", chord3.intervals)
     self.assertNotIn("P4", chord4.intervals)
     self.assertNotIn("M2", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
     self.assertNotIn("M2", chord5.intervals)
     self.assertNotIn("m7", chord6.intervals)
     self.assertNotIn("M2", chord6.intervals)
예제 #21
0
 def test_9_chord(self):
     chord1 = pm.Chord("E9")
     chord2 = pm.Chord("G#m9")
     chord3 = pm.Chord("Ab9")
     chord4 = pm.Chord("Cmaj9")
     chord5 = pm.Chord("Amaj9")
     chord6 = pm.Chord("Ebmin9(maj7)")
     self.assertIn("M3", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M2", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("m3", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M2", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("M3", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("M3", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("M2", chord4.intervals)
     self.assertIn("M7", chord4.intervals)
     self.assertIn("M3", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertIn("M2", chord5.intervals)
     self.assertIn("m3", chord6.intervals)
     self.assertIn("P5", chord6.intervals)
     self.assertIn("M7", chord6.intervals)
     self.assertIn("M2", chord6.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("M7", chord3.intervals)
     self.assertNotIn("m7", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
     self.assertNotIn("m7", chord6.intervals)
예제 #22
0
 def test_11_chord(self):
     chord1 = pm.Chord("E11")
     chord2 = pm.Chord("G#m11")
     chord3 = pm.Chord("Ab11")
     chord4 = pm.Chord("Cmaj11")
     chord5 = pm.Chord("Amaj11")
     chord6 = pm.Chord("Ebmin11(maj7)")
     self.assertIn("P4", chord1.intervals)
     self.assertIn("P5", chord1.intervals)
     self.assertIn("M2", chord1.intervals)
     self.assertIn("m7", chord1.intervals)
     self.assertIn("P4", chord2.intervals)
     self.assertIn("P5", chord2.intervals)
     self.assertIn("M2", chord2.intervals)
     self.assertIn("m7", chord2.intervals)
     self.assertIn("P4", chord3.intervals)
     self.assertIn("P5", chord3.intervals)
     self.assertIn("M2", chord3.intervals)
     self.assertIn("m7", chord3.intervals)
     self.assertIn("P4", chord4.intervals)
     self.assertIn("P5", chord4.intervals)
     self.assertIn("M2", chord4.intervals)
     self.assertIn("M7", chord4.intervals)
     self.assertIn("P4", chord5.intervals)
     self.assertIn("P5", chord5.intervals)
     self.assertIn("M7", chord5.intervals)
     self.assertIn("M2", chord5.intervals)
     self.assertIn("P4", chord6.intervals)
     self.assertIn("P5", chord6.intervals)
     self.assertIn("M7", chord6.intervals)
     self.assertIn("M2", chord6.intervals)
     self.assertNotIn("M7", chord1.intervals)
     self.assertNotIn("M7", chord2.intervals)
     self.assertNotIn("M7", chord3.intervals)
     self.assertNotIn("m7", chord4.intervals)
     self.assertNotIn("m7", chord5.intervals)
     self.assertNotIn("m7", chord6.intervals)
예제 #23
0
 def test_chord_init(self):
     pm.Chord("A")
     pm.Chord("Gbm7")
     pm.Chord("Gminor")
     pm.Chord("B min")
     pm.Chord("C minor")
     pm.Chord("G7")
     pm.Chord("Bmaj9")
     pm.Chord("Gb13")
     pm.Chord("Fmin(maj7)")
     pm.Chord("Db6/9")
     pm.Chord("Db(6/9)")
     pm.Chord("F#b13(b9)")
     pm.Chord("A+")