Wir haben zwei Funktionen, die 2 verschiedene power
Funktionen vergleichen und True zurückgeben, wenn sie den gleichen Wert (am selben Eingang) zurückgeben. Dann haben wir 2 andere Funktionen, die diese Funktionen gegen 2 Listen testen, um zu sehen, ob es irgendeinen Wert gibt, der nicht wahr zurückgibt.Nur positive ganze Zahlen mit QuickCheck
Aber anstatt Listen, die [1..100]
Bereiche verwenden, möchten wir Quickcheck verwenden. So ist es möglich, schnell zu überprüfen, dass nur positive Ganzzahlen zurückgegeben werden.
Code:
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]]
vielleicht http://stackoverflow.com/questions/12466580/how-to-use-modifiers-with-quickcheck-positive-in-my-case helfen? –
@TomaszLewowski Nicht wirklich. Ich habe diese Typklasse/Definition nicht verstanden. (Integral a, Zeige ein, lies a) => ... ' –
Wie wäre es mit' soThat' Modifikator für Generator? –