diff --git a/devel/201_19.md b/devel/201_19.md index 8fc3785beb78df8927e2a3a9151d9b5cbe510cc0..ed54fba7d79efd91979a37c0ceb1cc693a705579 100644 --- a/devel/201_19.md +++ b/devel/201_19.md @@ -36,6 +36,23 @@ bin/lint tests/goldfish/liii/option-test.scm bin/goldfish -m r7rs tests/goldfish/liii/option-test.scm ``` +## 2025/10/22 为 option-none 方法添加文档和精简测试用例 + +### What +1. 为 option-none 方法添加详细的文档说明,包括函数签名、参数说明、行为特征等 +2. 为 option-none 方法创建精简的测试用例,覆盖基本功能和边界情况 +3. 运行测试确保 option-none 方法正常工作 + +### Why +- option-none 是创建空选项的重要方法,在函数式编程中用于表示缺失值 +- 根据项目规范,需要为所有实例方法提供完整的文档和测试覆盖 +- 提供精简的测试用例便于后续维护和扩展 + +### How +- 参考 option 构造函数的文档格式,为 option-none 方法撰写详细文档 +- 测试用例覆盖空选项的创建和基本属性验证 +- 确保测试通过,验证方法的正确性 + ## 2025/10/21 为 option 构造函数添加文档和精简测试用例 ### What diff --git a/tests/goldfish/liii/option-test.scm b/tests/goldfish/liii/option-test.scm index 4571f8996cbf29494da85e4cc7774fbb7b196a95..41957ed3afaa76f72987c3ad3e95467716f4cab7 100644 --- a/tests/goldfish/liii/option-test.scm +++ b/tests/goldfish/liii/option-test.scm @@ -48,6 +48,46 @@ value : any (check (opt2 :defined?) => #t) (check (opt3 :empty?) => #t)) +#| +none +创建空的option对象。 + +语法 +---- +(none) + +参数 +---- +无参数。 + +返回值 +----- +返回空的option对象。 + +说明 +---- +创建表示缺失值的空option对象。 + +边界条件 +-------- +- 总是返回空的option对象 + +性能特征 +-------- +- 时间复杂度:O(1) +- 空间复杂度:O(1) + +兼容性 +------ +- 支持所有option实例方法 +|# + +;;; 测试none函数 +(let ((opt (none))) + (check (opt :empty?) => #t) + (check (opt :defined?) => #f) + (check (opt :get-or-else 42) => 42)) + ;;; 测试基本操作 (let ((opt1 (option 42)) (opt2 (none)))