41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
|
|
"""职业文本推断 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
|