1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
# ------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------
from devtools_testutils import recorded_by_proxy
from preparer import TextTranslationPreparer
from test_helper import TestHelper
from testcase import TextTranslationTest
class TestTransliteration(TextTranslationTest, TestHelper):
@TextTranslationPreparer()
@recorded_by_proxy
def test_transliteration(self, **kwargs):
endpoint = kwargs.get("text_translation_endpoint")
apikey = kwargs.get("text_translation_apikey")
region = kwargs.get("text_translation_region")
client = self.create_client(endpoint, apikey, region)
input_text_elements = ["这里怎么一回事?"]
response = client.transliterate(
body=input_text_elements,
language="zh-Hans",
from_script="Hans",
to_script="Latn",
)
assert response is not None
assert response[0].text is not None
@TextTranslationPreparer()
@recorded_by_proxy
def test_multiple_inputs(self, **kwargs):
endpoint = kwargs.get("text_translation_endpoint")
apikey = kwargs.get("text_translation_apikey")
region = kwargs.get("text_translation_region")
client = self.create_client(endpoint, apikey, region)
input_text_elements = ["यहएककसौटीहैयहएककसौटीहै", "यहएककसौटीहै"]
response = client.transliterate(
body=input_text_elements,
language="hi",
from_script="Deva",
to_script="Latn",
)
assert response is not None
assert response[0].text is not None
assert response[1].text is not None
@TextTranslationPreparer()
@recorded_by_proxy
def test_edit_distance(self, **kwargs):
endpoint = kwargs.get("text_translation_endpoint")
apikey = kwargs.get("text_translation_apikey")
region = kwargs.get("text_translation_region")
client = self.create_client(endpoint, apikey, region)
input_text_elements = [
"gujarat",
"hadman",
"hukkabar",
]
response = client.transliterate(
body=input_text_elements,
language="gu",
from_script="Latn",
to_script="Gujr",
)
assert response is not None
assert response[0].text is not None
assert response[1].text is not None
assert response[2].text is not None
expected_texts = ["ગુજરાત", "હદમાં", "હુક્કાબાર"]
edit_distance_value = 0
for i, expected_text in enumerate(expected_texts):
edit_distance_value = edit_distance_value + self.edit_distance(expected_text, response[i].text)
assert edit_distance_value < 6
|