## ADDED Requirements ### Requirement: Presentation 类集成测试 系统 SHALL 提供 Presentation 类的集成测试,验证模板加载和幻灯片渲染。 #### Scenario: 幻灯片渲染 - **WHEN** 调用 Presentation.render_slide() 并传入幻灯片数据 - **THEN** 返回渲染后的元素列表 - **AND** 模板变量被正确替换 #### Scenario: 模板缓存 - **WHEN** 多次调用 Presentation.get_template() 并使用相同模板名 - **THEN** 返回缓存的 Template 实例 #### Scenario: 模板变量传递 - **WHEN** 幻灯片使用模板并提供 vars - **THEN** 变量被正确传递给模板并渲染 ### Requirement: 渲染流程集成测试 系统 SHALL 提供完整的 YAML 到 PPTX 渲染流程测试。 #### Scenario: 完整渲染流程 - **WHEN** 从 YAML 文件加载演示文稿并生成 PPTX - **THEN** PPTX 文件成功生成 - **AND** 文件包含正确数量的幻灯片 - **AND** 每张幻灯片包含正确的元素 #### Scenario: 文本元素渲染 - **WHEN** 渲染包含文本元素的幻灯片 - **THEN** 生成的 PPTX 包含文本框 - **AND** 文本内容、字体、颜色、对齐方式正确 #### Scenario: 图片元素渲染 - **WHEN** 渲染包含图片元素的幻灯片 - **THEN** 生成的 PPTX 包含图片 - **AND** 图片位置和尺寸正确 #### Scenario: 形状元素渲染 - **WHEN** 渲染包含形状元素的幻灯片 - **THEN** 生成的 PPTX 包含形状 - **AND** 形状类型、填充、边框正确 #### Scenario: 表格元素渲染 - **WHEN** 渲染包含表格元素的幻灯片 - **THEN** 生成的 PPTX 包含表格 - **AND** 表格行列数、内容、样式正确 #### Scenario: 背景渲染 - **WHEN** 渲染包含背景的幻灯片 - **THEN** 生成的 PPTX 幻灯片背景正确设置 #### Scenario: 模板幻灯片渲染 - **WHEN** 渲染使用模板的幻灯片 - **THEN** 模板被正确加载和渲染 - **AND** 模板变量被正确替换 ### Requirement: 验证流程集成测试 系统 SHALL 提供完整验证流程的集成测试。 #### Scenario: 完整验证流程 - **WHEN** 调用 Validator.validate() 并传入有效 YAML 文件 - **THEN** 返回 valid=True 的 ValidationResult - **AND** errors 列表为空 #### Scenario: 多错误收集 - **WHEN** YAML 文件包含多个错误 - **THEN** ValidationResult 包含所有发现的错误 - **AND** 每个错误包含正确的位置信息 #### Scenario: 错误和警告分类 - **WHEN** YAML 文件包含错误和警告 - **THEN** ValidationResult 分别将问题分类到 errors 和 warnings #### Scenario: 验证结果格式化 - **WHEN** 调用 ValidationResult.format_output() - **THEN** 返回格式化的字符串 - **AND** 包含错误、警告、提示的分级显示