のQuickCheck
ような機能がないのはなぜですか? 特に、次のようなプロパティをどのように変換できるか疑問に思っていました:hedgehog
success
prop_specialPair :: Property
prop_specialPair = property $ do
(_, xs) <- forAll specialPair
case xs of
x:_ -> x /== 3
_ -> success
QuickCheck
if I use =/=
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
か?