"""大周天记忆/世界抽取 prompt 构建纯函数测试。""" from app.modules.big_cycle.prompts import EvaluationSnapshot from app.modules.extraction.prompts import build_extraction_messages def _snapshot() -> EvaluationSnapshot: return EvaluationSnapshot( character_id="character_x", memory_count=15, recent_memories=[("用户偏好简洁", "用户偏好简洁直接的回答")], personality_summary="身份:魂镜", world_entity_count=4, conclusion="近期对话涉及项目X,存在背景缺口", ) def test_messages_return_system_user_pair() -> None: system, user = build_extraction_messages(_snapshot()) assert isinstance(system, str) and isinstance(user, str) assert system and user def test_system_describes_memories_and_entities_structure() -> None: system, _ = build_extraction_messages(_snapshot()) for token in ("memories", "entities", "state_type", "sensitivity", "importance"): assert token in system def test_user_includes_snapshot_signals() -> None: _, user = build_extraction_messages(_snapshot()) assert "用户偏好简洁" in user assert "身份:魂镜" in user assert "15" in user