为什么没有QuickCheck
类似于hedgehog
's的功能success
?特别是我想知道如何翻译如下属性:
prop_specialPair :: Property
prop_specialPair = property $ do
(_, xs) <- forAll specialPair
case xs of
x:_ -> x /== 3
_ -> success
如果QuickCheck
我使用=/=
then 我被迫返回一些 type Property
,并且似乎没有常量函数来返回传递的属性。
所以我要么不得不求助于Bool
类型:
prop_specialPair :: SpecialPair -> Bool
prop_specialPair SpecialPair { xs } =
case xs of
x:_ -> x == 3
_ -> True
或者对 使用非常尴尬的编码success
,例如:
prop_specialPair :: SpecialPair -> Property
prop_specialPair SpecialPair { xs } =
case xs of
x:_ -> x =/= 3
_ -> True === True
有没有更好的方法来表达上面的属性QuickCheck
?