Commit 89ca7e8a authored by dmMaze's avatar dmMaze
Browse files

add ja->eng test for sugoi_translator

parent cafe0948
Loading
Loading
Loading
Loading
+39 −9
Original line number Diff line number Diff line
import sys, os
import os.path as osp
sys.path.append(osp.dirname(osp.dirname(__file__)))
from dl.translators import TranslatorBase, GoogleTranslator, PapagoTranslator, TRANSLATORS, CaiyunTranslator, DeeplTranslator
from dl.translators import *
from ui.constants import PROGRAM_PATH
os.chdir(PROGRAM_PATH)

def test_translator(translator: TranslatorBase, test_list):
def test_translator(translator: TranslatorBase, test_list: List):
    for test_dict in test_list:
        translator.set_source(test_dict['source'])
        translator.set_target(test_dict['target'])
        for text in test_dict['text_list']:
            print(f'src: {text}, translation: {translator.translate(text)}')
            translation = translator.translate(text)
            print(f'src: {text}, translation: {translation}')
            assert type(translation) == type(text)
            if isinstance(translation, List):
                assert len(translation) == len(text)

    text = ['', '', '', '', '', '', '']
    print(f'src: {text}, translation: {translator.translate(text)}')
    translation = translator.translate(text)
    assert len(translation) == len(text)
    print(f'src: {text}, translation: {translation}')
    text = ''
    print(f'src: {text}, translation: {translator.translate(text)}')
    translation = translator.translate(text)
    print(f'src: {text}, translation: {translation}')

engchscht_test_list = [
    {
@@ -41,14 +50,35 @@ engchscht_test_list = [
    }
]

jaeng_test_list = [
    {
        'source': '日本語',
        'target': 'English',
        'text_list': [
            '日本語のテスト',
            ['日本語の...テスト']
        ]
    },
    # {
    #     'source': 'English',
    #     'target': '日本語',
    #     'text_list': [
    #         'English test',
    #     ]
    # }
]

if __name__ == '__main__':

    device = 'cuda'

    caiyun_setup_params = {
        'token': 'invalidtoken',
    }
    # ctranslator = CaiyunTranslator('简体中文', 'English', **caiyun_setup_params)
    ptranslator = PapagoTranslator('简体中文', 'English')
    gtranslator = GoogleTranslator('简体中文', 'English')
    dtranslator = DeeplTranslator('简体中文', 'English')
    test_translator(ptranslator, engchscht_test_list)
    # ptranslator = PapagoTranslator('简体中文', 'English')
    # gtranslator = GoogleTranslator('简体中文', 'English')
    # dtranslator = DeeplTranslator('简体中文', 'English')
    sugoi_translator = SugoiTranslator('日本語', 'English', device= {'select': device})
    test_translator(sugoi_translator, jaeng_test_list)