由m0smith发表的评论:
;;
;; test.check的Unicode支持
;;
;; Unicode支持分为两个部分:基于字符的和基于代码点/整数的
;;
;; 范围和选择
;; 范围是一个范围定义的向量
;; 一个范围定义要么是
;; 一个单个字符
;; 一对(向量)表示范围的起始和结束
;;
;; choices是一个生成器,从一系列范围中选择。例如,
;; (choices (link: 1 2 [100 200)))
;; 会返回1和2,以及从100到200的数字。在这个例子中,范围对的100和200可以是任何被选择接受的成员。
;; 基于字符的Unicode支持与普通的字符和字符串生成器相类似
;;
;;
| 标准生成器 | Unicode生成器 | 生成 |
;;
| char | uchar | 从\u0000到\uFFFF的有效Unicode字符(char)|
| :-- | :-- | :-- |
| char-ascii | uchar-alpha | 字母Unicode字符 |
| | uchar-numeric | 数字Unicode字符 |
| char-alphanumeric | uchar-alphanumeric | 字母和数字Unicode字符|
| string | ustring | 仅由字符组成的Unicode字符串 |
| string-alphanumeric | ustring-alphanumeric | Unicode字母数字字符串 |
| | ustring-choices | 在给定范围内的Unicode字符串 |
| namespace | unamespace | 适合用作Clojure命名空间的Unicode字符串 |
| keyword | ukeyword | 适合用作Clojure关键字的Unicode字符串 |
| keyword-ns | ukeyword-ns | 适合用作Clojure关键字且可选命名空间的Unicode字符串 |
| symbol | usymbol | 适合用作Clojure符号的Unicode字符串 |
| symbol-ns | usymbol-ns | 适合用作Clojure符号且可选命名空间的Unicode字符串 |
| | |
;; 代码点或整数基础的字符
| 标准生成器 | Unicode生成器 | Unicode描述 |
| :-- | :-- | :-- | :-- |
| string | ustring-from-code-point | 生成由任何有效代码点组成的Unicode字符串 |
| :-- |
| char | code-point | 生成有效的Unicode代码点 |
| :-- |