/
votter
/
NicheAI
Обзор
Документация
Войти
/
votter
/
NicheAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_commentary.py
50 строк
2 KB
Egor
new UI unfinished
20 июл 2026, 12:45
20 июл 2026, 12:45
d40065c
Код
Авторство
О чём код?
import pytest from nicheai.commentary import allowed_numbers, comment_on_fact, TREND_SYSTEM_PROMPT def test_allowed_numbers_extracts_digits_from_mixed_types(): nums = allowed_numbers(4.2, "2024", None, 11, "+7%") assert nums == {"4", "2", "2024", "11", "7"} def test_comment_on_fact_returns_none_without_llm(): assert comment_on_fact("текст факта", {"1"}, TREND_SYSTEM_PROMPT, None) is None def test_comment_on_fact_accepts_clean_comment(): allowed = allowed_numbers(15, 2024) llm_fn = lambda system, text: "Рост на 15% в 2024 году может говорить об оживлении спроса." result = comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, llm_fn) assert result == "Рост на 15% в 2024 году может говорить об оживлении спроса." def test_comment_on_fact_rejects_invented_number(): allowed = allowed_numbers(15, 2024) llm_fn = lambda system, text: "Это может привести к росту на 42% в следующем году." assert comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, llm_fn) is None def test_comment_on_fact_rejects_leaked_snake_case_identifier(): allowed = allowed_numbers(15, 2024) llm_fn = lambda system, text: "Показатель target_share в 2024 году вырос на 15%." assert comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, llm_fn) is None def test_comment_on_fact_rejects_known_leak_token_without_underscore(): allowed = allowed_numbers(15, 2024) llm_fn = lambda system, text: "Маршрутизация показателя в 2024 году дала рост на 15%." assert comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, llm_fn) is None def test_comment_on_fact_returns_none_on_llm_exception(): def broken(system, text): raise RuntimeError("gigachat недоступен") allowed = allowed_numbers(15, 2024) assert comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, broken) is None def test_comment_on_fact_returns_none_on_empty_response(): allowed = allowed_numbers(15, 2024) llm_fn = lambda system, text: " " assert comment_on_fact("факт", allowed, TREND_SYSTEM_PROMPT, llm_fn) is None