Files
life-echo/api/tests/test_background_voice.py

41 lines
1.3 KiB
Python
Raw Normal View History

"""职业文本推断 background_voice干部/军队)。"""
from app.agents.chat.background_voice import (
infer_background_voice,
normalize_background_voice,
)
def test_infer_military_before_cadre() -> None:
assert infer_background_voice("机关文职干部") == "military"
def test_infer_military_keywords() -> None:
assert infer_background_voice("退伍军人") == "military"
assert infer_background_voice("陆军某部") == "military"
def test_infer_cadre_keywords() -> None:
assert infer_background_voice("公务员") == "cadre"
assert infer_background_voice("某局科长") == "cadre"
def test_infer_default() -> None:
assert infer_background_voice(None) == "default"
assert infer_background_voice("") == "default"
assert infer_background_voice("中学教师") == "default"
def test_normalize_accepts_enum_strings() -> None:
assert normalize_background_voice("military") == "military"
assert normalize_background_voice("cadre") == "cadre"
def test_narrative_editor_system_prompt_appends_voice() -> None:
from app.agents.memoir.prompts import get_narrative_editor_system_prompt
base = get_narrative_editor_system_prompt("default")
mil = get_narrative_editor_system_prompt("military")
assert len(mil) > len(base)
assert "背景文体(军队" in mil