quickCheckAll gibt immer "True" zurück

8

Ich versuche QuickCheck nach einer anderen Antwort zu verwenden. Ich teste so:

%Vor%

Dann lade ich es in winGHCI und rufe check und check2 auf. Ich bekomme

%Vor%

was ich denke, dass es vernünftig ist. Allerdings bekomme ich das von check2

%Vor%

Ich bin verwirrt, egal wie ich die last' -Funktion ändere, sogar falsch, quickCheckAll gibt immer True zurück.

Was ist falsch an meinem Code? Wie kann ich das beheben?

    
Ervine 06.02.2015, 04:25
quelle

2 Antworten

10

Aus der Test.QuickCheck.All Dokumentation:

  

Um quickCheckAll zu verwenden, fügen Sie Ihrem Modul eine Definition in der Form

hinzu %Vor%      

und dann runTests ausführen.

     

Hinweis: Das bizarre return [] im obigen Beispiel wird auf GHC 7.8 benötigt; Ohne es wird quickCheckAll keine der Eigenschaften finden können.

Hinzufügen von return [] , bevor Ihr check es für mich funktioniert.

    
Ørjan Johansen 06.02.2015, 05:02
quelle
0

Um quickCheckAll zu verwenden, benötigen Sie eine Funktion, die lautet:

return [] runTests = $quickCheckAll

Der andere Kommentar erwähnt dies, weist aber nicht darauf hin, dass er immer wahr zurückgibt, wenn sich die Funktion nicht unter all Ihren quickCheck-Funktionen befindet!

    
Joseph Boyd 15.01.2017 01:48
quelle