示例#1
0
class SetAnalysis(unittest.TestCase):
    def setUp(self):
        self.amaj = PcSet('9B12468')
        self.empty = PcSet([])

    # ivec

    def test_ivec_ait1(self):
        ait1 = PcSet('0146')
        self.assertEqual(ait1.ivec(), [1] * 6)

    def test_ivec_ait2(self):
        ait2 = PcSet('0137')
        self.assertEqual(ait2.ivec(), [1] * 6)

    def test_ivec_empty(self):
        self.assertEqual(self.empty.ivec(), [0] * 6)

    # cvec

    def test_cvec(self):
        """
        Tests the fundamental definition of cvec: that a given value at
        index n will be the number of common tones for the operation TnI.
        """
        cvec = self.amaj.cvec()
        for n in range(12):
            original = set(self.amaj)
            transformed = set(self.amaj.invert().transpose(n))
            common_tones = len(original & transformed)
            self.assertEqual(common_tones, cvec[n])

    def test_cvec_empty(self):
        self.assertEqual(self.empty.cvec(), [0] * 12)
示例#2
0
 def test_common(self):
     """
     Very similar to the test applied to cvec in test_pcset.py: finds the
     common tone vector, then makes sure the common tones are actually
     there for each value of TnI.
     """
     c = PcSet('024579B')
     cvec = c.cvec()
     for n in range(12):
         self.assertEqual(len(common(c, c.TnI(n))), cvec[n])