【发布时间】:2016-09-02 11:39:12
【问题描述】:
我们有两个函数比较两个不同的power 函数,如果它们返回相同的值(在相同的输入上),则返回 true。
然后我们有另外两个函数,它们针对两个列表测试这些函数,看看是否有任何不返回 true 的值。
但我们不想使用使用范围 [1..100] 的列表,而是使用 QuickCheck。
是否可以让 QuickCheck 只返回正整数?
代码:
comparePower1 :: Integer -> Integer -> Bool
comparePower1 n k = power n k == power1 n k
comparePower2 :: Integer -> Integer -> Bool
comparePower2 n k = power n k == power2 n k
testing1 = and [comparePower1 n k | n <- [0..100], k <- [0..100]]
testing2 = and [comparePower2 n k | n <- [0..100], k <- [0..100]]
【问题讨论】:
-
@TomaszLewowski 不是。我不明白这种类型的类/定义
(Integral a, Show a, Read a) => ... -
生成器使用
suchThat修饰符怎么样?
标签: haskell testing quickcheck