def test_added_punc(self): self.assertEqual( colorize_fuse('图书馆。', 'túshūguǎn'), ('<span class="tone2">图</span>' '<span class="tone1">书</span>' '<span class="tone3">馆</span>'), )
def test_tone_number(self, a, b, c): self.assertEqual( colorize_fuse(['图', '书', '馆'], [f'tu{a}', f'shu{b}', f'guan{c}']), ('<span class="tone{}">图</span>' '<span class="tone{}">书</span>' '<span class="tone{}">馆</span>').format(a, b, c), )
def test_unseparated(self): self.assertEqual( colorize_fuse('图书馆', 'túshūguǎn'), ('<span class="tone2">图</span>' '<span class="tone1">书</span>' '<span class="tone3">馆</span>'), )
def test_tone_mark(self): self.assertEqual( colorize_fuse(['图', '书', '馆'], ['tú', 'shū', 'guǎn']), ('<span class="tone2">图</span>' '<span class="tone1">书</span>' '<span class="tone3">馆</span>'), )
def test_tone_number(self, a, b, c): self.assertEqual( colorize_fuse('图书馆', f'tu{a} shu{b} guan{c}'), ('<span class="tone{}">图</span>' '<span class="tone{}">书</span>' '<span class="tone{}">馆</span>').format(a, b, c), )
def test_tone_number(self): a = randint(0, 9) b = randint(0, 9) c = randint(0, 9) self.assertEqual( colorize_fuse('图书馆', 'tu{} shu{} guan{}'.format(a, b, c)), ('<span class="tone{}">图</span>' '<span class="tone{}">书</span>' '<span class="tone{}">馆</span>').format(a, b, c))
def test_missing_punc(self): self.assertEqual( colorize_fuse( ['没', '有', '是', '我', '第', '一', '次'], ['Méi', 'yǒu', ',', 'shì', 'wǒ', 'dì', 'yī', 'cì', '.'], ), ('<span class="tone2">没</span>' '<span class="tone3">有</span>,' '<span class="tone4">是</span>' '<span class="tone3">我</span>' '<span class="tone4">第</span>' '<span class="tone1">一</span>' '<span class="tone4">次</span>。'), )
def test_sentence(self): self.assertEqual( colorize_fuse('没有,是我第一次来上海旅游。', 'Méiyǒu, shì wǒ dìyīcì lái shànghǎi lǚyóu.'), ('<span class="tone2">没</span>' '<span class="tone3">有</span>,' '<span class="tone4">是</span>' '<span class="tone3">我</span>' '<span class="tone4">第</span>' '<span class="tone1">一</span>' '<span class="tone4">次</span>' '<span class="tone2">来</span>' '<span class="tone4">上</span>' '<span class="tone3">海</span>' '<span class="tone3">旅</span>' '<span class="tone2">游</span>。'), )
def test_truncated_trans(self): """Given truncated transcription, should truncate characters.""" self.assertEqual( colorize_fuse('图书馆', 'túshū'), '<span class="tone2">图</span><span class="tone1">书</span>', )
def test_truncated_chars(self): """Given truncated characters, should still highlight correctly.""" self.assertEqual( colorize_fuse('图书', 'túshūguǎn'), '<span class="tone2">图</span><span class="tone1">书</span>', )
def test_mixed_english_chinese(self): self.assertEqual( colorize_fuse(['Brian', '的'], ['Brian', 'de']), '<span class="tone5">Brian</span><span class="tone5">的</span>', )
def test_truncated_transcript(self): """Given truncated transcription, should truncate hanzi.""" self.assertEqual( colorize_fuse(['图', '书', '馆'], ['tú', 'shū']), '<span class="tone2">图</span><span class="tone1">书</span>', )
def test_truncated_hanzi(self): """Given truncated hanzi, should still highlight correctly.""" self.assertEqual( colorize_fuse(['图', '书'], ['tú', 'shū', 'guǎn']), '<span class="tone2">图</span><span class="tone1">书</span>', )
def test_mixed_english_chinese(self): self.assertEqual( colorize_fuse('Brian的', 'Brian de'), '<span class="tone5">Brian</span><span class="tone5">的</span>', )