## ADDED Requirements ### Requirement: PPTX 文件验证工具 系统 SHALL 提供 PPTX 文件验证工具类,支持文件级别、幻灯片级别、元素级别的验证。 #### Scenario: 文件级别验证 - **WHEN** 验证生成的 PPTX 文件 - **THEN** 文件存在且大小大于 0 - **AND** 文件可以被 python-pptx 打开 #### Scenario: 幻灯片数量验证 - **WHEN** 验证 PPTX 文件 - **THEN** 幻灯片数量与预期一致 #### Scenario: 幻灯片尺寸验证 - **WHEN** 验证 16:9 PPTX 文件 - **THEN** 幻灯片宽度为 10 英寸,高度为 5.625 英寸 - **AND** 验证 4:3 PPTX 文件时,高度为 7.5 英寸 #### Scenario: 文本元素验证 - **WHEN** 验证包含文本的幻灯片 - **THEN** 找到文本框元素 - **AND** 文本内容与预期一致 - **AND** 字体大小、颜色、对齐方式正确 - **AND** 位置在合理范围内(允许 0.1 英寸误差) #### Scenario: 图片元素验证 - **WHEN** 验证包含图片的幻灯片 - **THEN** 找到图片元素 - **AND** 图片尺寸和位置与预期一致 - **AND** 位置在合理范围内 #### Scenario: 形状元素验证 - **WHEN** 验证包含形状的幻灯片 - **THEN** 找到形状元素 - **AND** 形状类型正确 - **AND** 填充颜色和边框样式正确 - **AND** 位置在合理范围内 #### Scenario: 表格元素验证 - **WHEN** 验证包含表格的幻灯片 - **THEN** 找到表格元素 - **AND** 行列数与预期一致 - **AND** 单元格内容与预期一致 - **AND** 表头样式正确应用 #### Scenario: 背景验证 - **WHEN** 验证包含背景色的幻灯片 - **THEN** 幻灯片背景颜色与预期一致 #### Scenario: 元素数量验证 - **WHEN** 验证幻灯片 - **THEN** 元素数量与预期一致 - **AND** 元素类型分布正确 #### Scenario: 位置范围验证 - **WHEN** 验证元素位置 - **THEN** 元素位置在幻灯片范围内 - **AND** 允许 0.1 英寸的容忍误差 ### Requirement: 验证辅助函数 系统 SHALL 提供验证辅助函数,简化测试代码。 #### Scenario: 颜色值比较 - **WHEN** 比较 PPTX 颜色与预期颜色 - **THEN** 验证辅助函数正确比较 RGB 值 - **AND** 考虑颜色转换误差 #### Scenario: 位置比较 - **WHEN** 比较元素位置与预期位置 - **THEN** 验证辅助函数考虑容忍度 #### Scenario: 批量验证 - **WHEN** 一次验证多个属性 - **THEN** 验证辅助函数返回所有验证结果 - **AND** 包含详细的失败信息