import pytest from app.translit import transliterate_latin, transliterate_token def test_exact_dict_word(): assert transliterate_token("Ozon") == "Озон" assert transliterate_token("ozon") == "озон" def test_rule_based_word(): assert transliterate_token("shipping") == "шиппинг" def test_abbreviation_uppercase(): assert transliterate_token("IT") == "айти" assert transliterate_token("DVD") == "ди-вэ-ди" def test_unknown_abbreviation_falls_back_to_rules(): result = transliterate_token("KPI") assert "айти" != result assert result == "КПИ" def test_mixed_tokens_preserve_non_letters(): assert transliterate_latin("Python-скрипт") == "Пайтон-скрипт" assert transliterate_latin("4G") == "4Г" def test_noop_without_latin(): text = "Привет, мир! Числа 123 и знак #." assert transliterate_latin(text) == text def test_uppercase_rule_output_keeps_case(): assert transliterate_token("NETFLIX") == "НЕТФЛИКС"