def test_GetName_it(self): self.assertEqual('diesis', Accidental.GetName('#', 'it')) self.assertEqual('doppio diesis', Accidental.GetName('##', 'it')) self.assertEqual('diesis*3', Accidental.GetName('###', 'it')) self.assertEqual('bemolle', Accidental.GetName('b', 'it')) self.assertEqual('doppio bemolle', Accidental.GetName('bb', 'it')) self.assertEqual('bemolle*3', Accidental.GetName('bbb', 'it'))
def test_GetName_fr(self): self.assertEqual('dièse', Accidental.GetName('#', 'fr')) self.assertEqual('double dièse', Accidental.GetName('##', 'fr')) self.assertEqual('dièse*3', Accidental.GetName('###', 'fr')) self.assertEqual('bémol', Accidental.GetName('b', 'fr')) self.assertEqual('double bémol', Accidental.GetName('bb', 'fr')) self.assertEqual('bémol*3', Accidental.GetName('bbb', 'fr'))
def test_GetName_de(self): self.assertEqual('is', Accidental.GetName('#', 'de')) self.assertEqual('isis', Accidental.GetName('##', 'de')) self.assertEqual('is*3', Accidental.GetName('###', 'de')) self.assertEqual('es', Accidental.GetName('b', 'de')) self.assertEqual('eses', Accidental.GetName('bb', 'de')) self.assertEqual('es*3', Accidental.GetName('bbb', 'de'))
def test_GetName_ja(self): self.assertEqual('嬰', Accidental.GetName('#', 'ja')) self.assertEqual('重嬰', Accidental.GetName('##', 'ja')) self.assertEqual('嬰*3', Accidental.GetName('###', 'ja')) self.assertEqual('変', Accidental.GetName('b', 'ja')) self.assertEqual('重変', Accidental.GetName('bb', 'ja')) self.assertEqual('変*3', Accidental.GetName('bbb', 'ja'))
def test_GetName_en(self): self.assertEqual('sharp', Accidental.GetName('#', 'en')) self.assertEqual('double sharp', Accidental.GetName('##', 'en')) self.assertEqual('sharp*3', Accidental.GetName('###', 'en')) self.assertEqual('flat', Accidental.GetName('b', 'en')) self.assertEqual('double flat', Accidental.GetName('bb', 'en')) self.assertEqual('flat*3', Accidental.GetName('bbb', 'en'))
def test_GetName_zh(self): self.assertEqual('升', Accidental.GetName('#', 'zh')) self.assertEqual('重升', Accidental.GetName('##', 'zh')) self.assertEqual('升*3', Accidental.GetName('###', 'zh')) self.assertEqual('降', Accidental.GetName('b', 'zh')) self.assertEqual('重降', Accidental.GetName('bb', 'zh')) self.assertEqual('降*3', Accidental.GetName('bbb', 'zh'))
def test_GetName_es(self): self.assertEqual('sostenido', Accidental.GetName('#', 'es')) self.assertEqual('sostenido doble', Accidental.GetName('##', 'es')) self.assertEqual('sostenido*3', Accidental.GetName('###', 'es')) self.assertEqual('bemol', Accidental.GetName('b', 'es')) self.assertEqual('bemol doble', Accidental.GetName('bb', 'es')) self.assertEqual('bemol*3', Accidental.GetName('bbb', 'es'))
def GetName(cls, name, lang): if not (isinstance(name, str)): raise TypeError('引数nameはstr型にしてください。') if not (isinstance(lang, str)): raise TypeError('引数langはstr型にしてください。') if lang not in cls.KeyNames.keys(): raise ValueError( f'langは次のうちのいずれかにしてください。{cls.KeyNames.keys()}。: lang={lang}') k, a = cls.__Split(name) if k not in cls.Keys: raise ValueError(f'keyは次のうちのいずれかにしてください。{cls.Keys}。: key={k}') key = cls.__GetNameLangs(k, lang) accidental = Accidental.GetName(a, lang) if 'ja' == lang or 'zh' == lang: return accidental + key else: if 0 == len(accidental): return key else: return key + ' ' + accidental