llm-translate/tests/test_file_processor.py
illian64 a82b52fd7d
context message
Co-authored-by: APodoinikov <APodoynikov@detmir.ru>
2025-09-28 09:52:02 +07:00

44 lines
1.8 KiB
Python

from pathlib import Path
from unittest import TestCase
from app import file_processor
from app.params import FileProcessingContextParams
class FileProcessTest(TestCase):
test_dir = Path(__file__).parent.absolute()
def test_encoding(self):
content = file_processor.read_file_with_fix_encoding(str(self.test_dir / "files/test_encoding_ansi.txt"))
self.assertEqual("Hello, World. Привет, Мир. Ёё.", content)
def test_get_context(self):
items_to_context = ["111", "222", "333", "444", "555"]
params = FileProcessingContextParams(enabled=True, prompt="Use context: %%context_text%%", expected_length=9,
include_at_least_one_paragraph=True, paragraph_join_str="\n")
context = file_processor.get_context(items_to_context, params, "000")
self.assertEqual("Use context: 333\n444\n555", context)
context = file_processor.get_context(items_to_context, params, "555")
self.assertEqual("Use context: 222\n333\n444", context)
context = file_processor.get_context(items_to_context, params, "444")
self.assertEqual("Use context: 222\n333\n555", context)
params.expected_length = 8
params.paragraph_join_str = " "
context = file_processor.get_context(items_to_context, params, "000")
self.assertEqual("Use context: 444 555", context)
params.expected_length = 2
params.paragraph_join_str = "\n"
params.include_at_least_one_paragraph = True
context = file_processor.get_context(items_to_context, params, "000")
self.assertEqual("Use context: 555", context)
params.expected_length = 2
params.include_at_least_one_paragraph = False
context = file_processor.get_context(items_to_context, params, "000")
self.assertEqual(None, context)