nidhal baccouri
updated tests
33c503f
raw
history blame
2.94 kB
#!/usr/bin/env python
"""Tests for `deep_translator` package."""
import pytest
from deep_translator import exceptions, LibreTranslator
from deep_translator.constants import LIBRE_CODES_TO_LANGUAGES
test_text_standard = 'Hello world.'
TRANSLATED_RESULTS = {
'English': 'Hello world.',
'Arabic': 'مرحبا العالم.',
'Chinese': '霍洛美世界。',
'French': 'Bonjour.',
'German': 'Hallo Welt.',
'Hindi': 'नमस्ते दुनिया।',
'Indonesian': 'Halo dunia.',
'Irish': 'Dia duit domhan.',
'Italian': 'Ciao mondo.',
'Japanese': 'こんにちは。',
'Korean': '안녕하세요.',
'Polish': 'Hello world (ang.).',
'Portuguese': 'Olá, mundo.',
'Russian': 'Привет мир.',
'Spanish': 'Hola mundo.',
'Turkish': 'Merhaba dünya.',
'Vietnamese': 'Xin chào.'
}
@pytest.fixture
def libre():
return LibreTranslator(source="en", target='fr')
def test_content(libre):
"""Sample pytest test function with the pytest fixture as an argument."""
# from bs4 import BeautifulSoup
# assert 'GitHub' in BeautifulSoup(response.content).title.string
assert libre.translate(text='good') is not None
def test_inputs():
with pytest.raises(exceptions.LanguageNotSupportedException):
LibreTranslator(source="", target="")
with pytest.raises(exceptions.LanguageNotSupportedException):
LibreTranslator(source="auto", target="nothing")
def test_abbreviations_and_languages_mapping():
for abb, lang in LIBRE_CODES_TO_LANGUAGES.items():
if abb != 'en':
l1 = LibreTranslator(abb)
l2 = LibreTranslator(lang)
assert l1.source == l2.source
def test_payload(libre):
with pytest.raises(exceptions.NotValidPayload):
libre.translate("")
with pytest.raises(exceptions.NotValidPayload):
libre.translate(123)
with pytest.raises(exceptions.NotValidPayload):
libre.translate({})
with pytest.raises(exceptions.NotValidPayload):
libre.translate([])
def test_one_character_words():
assert LibreTranslator(source='es', target='en').translate('y') == 'and'
def test_translate_batch():
words_to_translate = ['How are you', 'Good', 'Thank You']
translated_words = ['¿Cómo estás?', 'Bien.', 'Gracias.']
assert LibreTranslator(source='en', target='es').translate_batch((words_to_translate)) == translated_words
def test_translate_file():
filePath = 'examples/test.txt'
translatedText = 'Un párrafo es una serie de frases relacionadas que desarrollan una idea central, llamada el tema. Trate de pensar en los párrafos en términos de unidad temática: un párrafo es una frase o un grupo de oraciones que apoya una idea central y unificada. Los párrafos añaden una idea a la vez a su argumento más amplio.'
assert LibreTranslator(source='en', target='es').translate_file(filePath) == translatedText