Nous avons deux fonctions qui comparent 2 fonctions power
différentes, et retournent true si elles retournent la même valeur (sur la même entrée). Ensuite, nous avons 2 autres fonctions qui testent ces fonctions sur 2 listes pour voir s'il y a une valeur qui ne retourne pas vrai.Générer uniquement des entiers positifs avec QuickCheck
Mais au lieu d'utiliser des listes qui vont de [1..100]
, nous aimerions utiliser quickcheck. Donc, il est possible d'obtenir quickcheck pour ne renvoyer que des entiers positifs.
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]]
http://stackoverflow.com/questions/12466580/how-to-use-modifiers-with-quickcheck-positive-in-my-case va peut-être aider? –
@TomaszLewowski Pas vraiment. Je n'ai pas compris ce type classe/définition '(Integral a, Show a, Read a) => ...' –
pourquoi ne pas utiliser le modificateur 'suchThat' pour le générateur? –