"""分析提示构建函数测试。""" import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent / "src")) from prompt import build_analysis_prompt class TestBuildAnalysisPrompt: """测试分析提示构建函数。""" def test_basic_prompt(self) -> None: """测试基础提示词包含核心结构。""" prompt = build_analysis_prompt(purpose="", index="") assert "专业研究分析师" in prompt assert "关键实体" in prompt def test_with_purpose(self) -> None: """测试传入目的时,提示词包含 Wiki 目的部分。""" prompt = build_analysis_prompt(purpose="测试目的", index="") assert "Wiki 目的" in prompt assert "测试目的" in prompt def test_with_index(self) -> None: """测试传入索引时,提示词包含 Wiki 索引部分。""" prompt = build_analysis_prompt(purpose="", index="测试索引") assert "当前 Wiki 索引" in prompt assert "测试索引" in prompt def test_empty_content(self) -> None: """测试空内容时,可选部分不出现在提示词中。""" prompt = build_analysis_prompt(purpose="", index="") assert "Wiki 目的" not in prompt assert "当前 Wiki 索引" not in prompt def test_language_from_config(self) -> None: """测试语言设置从配置文件读取。""" prompt = build_analysis_prompt(purpose="", index="", configured_language=None) assert "使用" in prompt assert "语言输出分析报告" in prompt