def test_Get_Invalid_Type(self):
     with self.assertRaises(
             TypeError
     ) as e:  #TypeError: not all arguments converted during string formatting
         OctaveClass.Get('無効な型')
     self.assertIn('引数octaveはint型にしてください。', str(e.exception))
     with self.assertRaises(
             TypeError
     ) as e:  #TypeError: not all arguments converted during string formatting
         OctaveClass.Get(0, _min='abc')
     self.assertIn('引数_minはint型にしてください。', str(e.exception))
 def test_Get_SPN_OutOfRange(self):
     _min = 0
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(-1, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(11, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
     _min = -1
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(-2, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(10, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
     _min = -2
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(-3, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
     with self.assertRaises(ValueError) as e:
         OctaveClass.Get(9, _min)
     self.assertIn(f'引数octaveは{_min}〜{_min + OctaveClass.Range}の値にしてください。',
                   str(e.exception))
 def GetFrequency(self, pitchClass, octaveClass):
     PitchClass.Validate(pitchClass)
     OctaveClass.Validate(octaveClass, _min=0)
     return self.FundamentalTone.Hz * math.pow(2, (NoteNumber.Get(
         pitchClass, octaveClass) - self.FundamentalTone.NoteNumber) /
                                               (PitchClass.Max + 1))
Example #4
0
 def GetFrequency(self, pitchClass, octaveClass):
     PitchClass.Validate(pitchClass)
     OctaveClass.Validate(octaveClass, _min=0)
     return self.__ScaleFrequencies[pitchClass] * math.pow(2, octaveClass - self.FundamentalTone.OctaveClass)
 def test_Get_ZERO(self):
     for o in range(0, 10 + 1):
         self.assertEqual((o + 0), OctaveClass.Get(o, _min=0))
 def test_Get_YAMAHA(self):
     for o in range(-2, 8 + 1):
         self.assertEqual((o + 2), OctaveClass.Get(o, _min=-2))
 def test_Get_SPN(self):
     for o in range(-1, 9 + 1):
         self.assertEqual((o + 1), OctaveClass.Get(o, _min=-1))
 def test_Get(self):
     for o in range(-1, 9 + 1):
         self.assertEqual((o + 1), OctaveClass.Get(o))
 def OctaveClass(self, v):
     o = OctaveClass.Get(v, _min=0)
     self.__octaveClass = o
     self.__noteNumber = NoteNumber.Get(self.PitchClass, o)