2024 年 Clojure 状况调查!中分享您的想法。

欢迎!请参阅关于页面以了解如何使用本网站的更多信息。

0
test.check
生成器 {{neg-int}} 和 {{pos-int}} 生成 {{0}},这很令人困惑,因为 {{ (= (pos? 0) (neg? 0) false)}}。建议将 {{s-pos-int}} 和 {{s-neg-int}} 分别改为 {{pos-int}} 和 {{neg-int}},并替换当前的 {{neg-int}} 和 {{pos-int}}。新的名字建议包括 {{non-x-int}} 和 {{not-x-int}}。

[原始问题|https://github.com/reiddraper/simple-check/issues/46]

3 条答案

0

评论者:gshayban

`
user> (clojure.spec.gen.alpha/sample (clojure.spec.alpha/gen pos-int?))
(1 1 1 4 2 4 31 1 8 4)

user> (clojure.test.check.generators/sample clojure.test.check.generators/pos-int)
(0 0 1 1 0 5 1 2 1 4)
`

使用 clojure.spec 的此生成器用户从未看到过零

0

评论者:gfredericks

我认为 {{pos-int}} 和 {{neg-int}} 应该被弃用(因为名字让人困惑),可能不会被替换。{{pos-int}} 只是 {{nat}},而 {{neg-int}} 是一种奇特的分布,但你可以自己实现。

我想要重新考虑整数生成器的一组,但我不确定它会是什么样子,但我知道它肯定不涉及这两个,因此弃用它们应该是安全的。

0
参考:https://clojure.atlassian.net/browse/TCHECK-2(由 hypirion 报告)
...