def Name(self, v): self.__pitchClass = PitchClass.Get(Key.Get(v))[0] self.__name = v
def Key(self, v): self.__key = PitchClass.Get(v)[0] self.__calcPitchClasses()
def test_Get_str(self): with self.assertRaises(TypeError) as e: #TypeError: not all arguments converted during string formatting PitchClass.Get('無効値') self.assertEqual(e.message, '')
def Name(self, v): self.__pitchClass = PitchClass.Get(Key.Get(v))[0] self.__name = v self.__scale._Scale__calcPitchClasses(self)
def test_PitchClass(self): pitch_class = PitchClass.Get(0) self.assertTrue(hasattr(pitch_class, 'PitchClass')) self.assertTrue(hasattr(pitch_class, 'RelativeOctave'))
def test_Get(self): for halfToneNum in range(12): self.assertEqual((halfToneNum, 0), PitchClass.Get(halfToneNum))
def Key(self, v): self.__key = PitchClass.Get(v)[0]
def NoteNumber(self, v): self.__pitchClass, self.__octaveClass = PitchClass.Get(v) self.__noteNumber = v
def PitchClass(self, v): p = PitchClass.Get(v)[0] self.__pitchClass = p self.__noteNumber = NoteNumber.Get(p, self.OctaveClass)
def test_Get_Invalid_Type(self): with self.assertRaises(TypeError) as e: #TypeError: not all arguments converted during string formatting PitchClass.Get('無効な型') self.assertIn('引数halfToneNumはint型にしてください。', str(e.exception))
def test_Get(self): for halfToneNumber in range(NoteNumber.Min, NoteNumber.Max + 1): with self.subTest(halfToneNumber=halfToneNumber): self.assertEqual( halfToneNumber, NoteNumber.Get(*PitchClass.Get(halfToneNumber)))