class VarEqualsTnTm(TestCase): """operations that return a PCSet or PSet""" def setUp(self): self.l = [0, 2, 5, 20, -1] self.pcset = PCSet(self.l) self.pset = PSet(self.l) def testTranspose(self): a = self.pcset._transpose(5) self.assertEqual(a.pitches, [5, 7, 10, 25, 4]) self.assertEqual(a.uo_pcs, [1, 4, 5, 7, 10]) self.assertEqual(a.__class__, PCSet) b = self.pset._transpose(5) self.assertEqual(b.pitches, [5, 7, 10, 25, 4]) self.assertEqual(b.__class__, PSet) def testInvert(self): a = self.pcset._invert() self.assertEqual(a.pitches, [0, -2, -5, -20, 1]) self.assertEqual(a.uo_pcs, [0, 1, 4, 7, 10]) self.assertEqual(a.__class__, PCSet) b = self.pset._invert(3) self.assertEqual(b.pitches, [3, 1, -2, -17, 4]) self.assertEqual(b.__class__, PSet) def testTranspose_multiply(self): a = self.pcset._transpose_multiply(1, 11) b = self.pset._transpose_multiply(5, 5) c = self.pset._transpose_multiply(0, 5) d = self.pcset._transpose_multiply(1, 1) self.assertEqual(a, a._transpose_multiply(0, 1)) self.assertEqual(a.pcs, [1, 11, 8, 5, 2]) self.assertEqual(b.pcs, [5, 3, 6, 9, 0]) self.assertEqual(c.pcs, self.pcset._transpose_multiply()) self.assertEqual(d, self.pcset._transpose(1))