Esempio n. 1
0
 def testAdd(self):
     tmp = self.s2
     tmp += Interval(3)
     self.assertTrue(tmp.eqNames(Sound('c', 2)))
     self.assertTrue((tmp + Interval(2, 'minor')).eqNames(Sound('d')))
     self.assertTrue((tmp + Interval(4)).eqNames(Sound('f', 2)))
     self.assertTrue((tmp + Interval(-5, 'aug')).eqNames(Sound('f', 0)))
     self.assertTrue((tmp + Interval(-2)).eqNames(Sound('b', 0)))
Esempio n. 2
0
 def testSub(self):
     tmp = self.p2
     tmp -= Interval(-6, 'minor')
     self.assertTrue(tmp.eqNames(Pitch('f')))
     self.assertTrue((tmp - Interval(-2, 'minor')).eqNames(Pitch('g', -2)))
     self.assertTrue((tmp - Interval(-5, 'aug')).eqNames(Pitch('c', 2, 2)))
     self.assertTrue((tmp - Interval(10)).eqNames(Pitch('d', -2, 0)))
     self.assertTrue((tmp - Interval(2)).eqNames(Pitch('e', -2)))
Esempio n. 3
0
 def setUp(self):
     self.n1 = Note(4, 0, Pitch('a', 0, 1, 'lower'))
     self.n2 = Note(8, 1, Pitch('c', 2, 2), Pitch('e'), Pitch())
     self.n3 = Note.fromRhythmValAndPitches(RhythmicValue(8, 0), Pitch('d'))
     self.n4 = Note(4, 0, Pitch())
     self.n5 = Note(8, 1, Pitch())
     self.n5.pitches.append(Pitch('c', 2, 2))
     self.n5.pitches.append(Pitch('e'))
     self.n6 = Note.fromRhythmValAndStruct(RhythmicValue(), Pitch(),
                                           PitchesStructure(Interval(3),
                                           Interval(2), Interval(4)))
     self.n7 = Note(8, 2)
Esempio n. 4
0
 def setUp(self):
     self.ps1 = PitchesStructure()
     self.ps1.intervals.append(Interval(3))
     self.ps1.intervals.append(Interval(3, 'minor'))
     self.ps2 = PitchesStructure()
     self.ps2.intervals.append(Interval(3))
     self.ps2.intervals.append(Interval(3, 'minor'))
     self.ps2.intervals.append(Interval(3, 'minor'))
     self.ps3 = PitchesStructure()
     self.ps3.intervals.append(Interval(4))
     self.ps3.intervals.append(Interval(4))
     self.ps4 = PitchesStructure(Interval(3), Interval(3, 'minor'))
Esempio n. 5
0
 def setUp(self):
     self.i1 = Interval(3)
     self.i2 = Interval(5, 'perfect')
     self.i3 = Interval(7)
     self.i4 = Interval(7, 'minor')
     self.i5 = Interval(-4, 'aug', 1)
     self.i6 = Interval(3, 'major')
     self.i7 = Interval(-10, 'minor')
Esempio n. 6
0
    def __sub__(self, other):
        """Substracts from self interval.

        Args:
            other (Interval): interval to substract from self
        Returns:
            pitch which is self decreased of other interval
        """
        return self + Interval(-other.direction
                               * (other.number + other.octaves * 7),
                               other.type_, other.dimAugFolds)
Esempio n. 7
0
 def testAdd(self):
     tmp = self.p2
     tmp += Interval(3)
     self.assertTrue(tmp.eqNames(Pitch('c', 2)))
     self.assertTrue((tmp + Interval(2, 'minor')).eqNames(Pitch('d')))
     self.assertTrue((tmp + Interval(4)).eqNames(Pitch('f', 2)))
     self.assertTrue((tmp + Interval(-5, 'aug')).eqNames(Pitch('f', 0, 0)))
     self.assertTrue((tmp + Interval(-2)).eqNames(Pitch('b', 0, 0)))
     self.assertTrue((tmp + Interval(5, 'dim')).eqNames(Pitch('g')))
Esempio n. 8
0
 def setUp(self):
     self.i1 = Interval(3)
     self.i2 = Interval(5, 'perfect')
     self.i3 = Interval(7)
     self.i4 = Interval(7, 'minor')
     self.i5 = Interval(-4, 'aug', 1)
     self.i6 = Interval(3, 'major')
     self.i7 = Interval(-10, 'minor')
Esempio n. 9
0
class TestInterval(unittest.TestCase):
    def setUp(self):
        self.i1 = Interval(3)
        self.i2 = Interval(5, 'perfect')
        self.i3 = Interval(7)
        self.i4 = Interval(7, 'minor')
        self.i5 = Interval(-4, 'aug', 1)
        self.i6 = Interval(3, 'major')
        self.i7 = Interval(-10, 'minor')

    def testRepr(self):
        self.assertEqual(str(self.i1), "3")
        self.assertEqual(str(self.i2), "5")
        self.assertEqual(str(self.i3), "7<")
        self.assertEqual(str(self.i4), "7")
        self.assertEqual(str(self.i5), "-4<")
        self.assertEqual(str(self.i6), "3")
        self.assertEqual(str(self.i7), "-10>")

    def testEq(self):
        self.assertEqual(self.i1, self.i6)
        self.assertTrue(self.i6 == self.i1)
        self.assertFalse(self.i2 == self.i4)
        self.assertFalse(self.i3 == self.i4)
        self.assertFalse(self.i7 == self.i5)

    def testNe(self):
        self.assertNotEqual(self.i1, self.i2)
        self.assertTrue(self.i2 != self.i3)
        self.assertTrue(self.i2 != self.i4)
        self.assertFalse(self.i1 != self.i6)

    def testSemitones(self):
        self.assertEqual(self.i1.semitones(), 4)
        self.assertEqual(self.i2.semitones(), 7)
        self.assertEqual(self.i3.semitones(), 11)
        self.assertEqual(self.i4.semitones(), 10)
        self.assertEqual(self.i5.semitones(), -6)
        self.assertEqual(self.i6.semitones(), 4)
        self.assertEqual(self.i7.semitones(), -15)

    def testNeg(self):
        self.assertEqual(-self.i1, Interval(-3))
        self.assertEqual(-self.i2, Interval(-5))
        self.assertEqual(-self.i3, Interval(-7))
        self.assertEqual(-self.i5, Interval(4, 'aug'))
        self.assertEqual(-self.i7, Interval(10, 'minor'))

    def testInversion(self):
        self.assertEqual(self.i1.inversion(), Interval(6, 'minor'))
        self.assertEqual(self.i2.inversion(), Interval(4))
        self.assertEqual(self.i3.inversion(), Interval(2, 'minor'))
        self.assertEqual(self.i5.inversion(), Interval(-5, 'dim', 1))
        self.assertEqual(self.i7.inversion(), Interval(-6))
Esempio n. 10
0
 def testInversion(self):
     self.assertEqual(self.i1.inversion(), Interval(6, 'minor'))
     self.assertEqual(self.i2.inversion(), Interval(4))
     self.assertEqual(self.i3.inversion(), Interval(2, 'minor'))
     self.assertEqual(self.i5.inversion(), Interval(-5, 'dim', 1))
     self.assertEqual(self.i7.inversion(), Interval(-6))
Esempio n. 11
0
 def testNeg(self):
     self.assertEqual(-self.i1, Interval(-3))
     self.assertEqual(-self.i2, Interval(-5))
     self.assertEqual(-self.i3, Interval(-7))
     self.assertEqual(-self.i5, Interval(4, 'aug'))
     self.assertEqual(-self.i7, Interval(10, 'minor'))
Esempio n. 12
0
class TestInterval(unittest.TestCase):

    def setUp(self):
        self.i1 = Interval(3)
        self.i2 = Interval(5, 'perfect')
        self.i3 = Interval(7)
        self.i4 = Interval(7, 'minor')
        self.i5 = Interval(-4, 'aug', 1)
        self.i6 = Interval(3, 'major')
        self.i7 = Interval(-10, 'minor')

    def testRepr(self):
        self.assertEqual(str(self.i1), "3")
        self.assertEqual(str(self.i2), "5")
        self.assertEqual(str(self.i3), "7<")
        self.assertEqual(str(self.i4), "7")
        self.assertEqual(str(self.i5), "-4<")
        self.assertEqual(str(self.i6), "3")
        self.assertEqual(str(self.i7), "-10>")

    def testEq(self):
        self.assertEqual(self.i1, self.i6)
        self.assertTrue(self.i6 == self.i1)
        self.assertFalse(self.i2 == self.i4)
        self.assertFalse(self.i3 == self.i4)
        self.assertFalse(self.i7 == self.i5)

    def testNe(self):
        self.assertNotEqual(self.i1, self.i2)
        self.assertTrue(self.i2 != self.i3)
        self.assertTrue(self.i2 != self.i4)
        self.assertFalse(self.i1 != self.i6)

    def testSemitones(self):
        self.assertEqual(self.i1.semitones(), 4)
        self.assertEqual(self.i2.semitones(), 7)
        self.assertEqual(self.i3.semitones(), 11)
        self.assertEqual(self.i4.semitones(), 10)
        self.assertEqual(self.i5.semitones(), -6)
        self.assertEqual(self.i6.semitones(), 4)
        self.assertEqual(self.i7.semitones(), -15)

    def testNeg(self):
        self.assertEqual(-self.i1, Interval(-3))
        self.assertEqual(-self.i2, Interval(-5))
        self.assertEqual(-self.i3, Interval(-7))
        self.assertEqual(-self.i5, Interval(4, 'aug'))
        self.assertEqual(-self.i7, Interval(10, 'minor'))

    def testInversion(self):
        self.assertEqual(self.i1.inversion(), Interval(6, 'minor'))
        self.assertEqual(self.i2.inversion(), Interval(4))
        self.assertEqual(self.i3.inversion(), Interval(2, 'minor'))
        self.assertEqual(self.i5.inversion(), Interval(-5, 'dim', 1))
        self.assertEqual(self.i7.inversion(), Interval(-6))
Esempio n. 13
0
 def __sub__(self, other):
     return self + Interval(-other.direction * other.number, other.type_,
                            other.dimAugFolds)