... | ... | @@ -36,7 +36,7 @@ Nun können Ausdrücke eingegeben werden, die in dem geladenen Modul ausgeführt |
|
|
## Tests
|
|
|
|
|
|
Zum einfachen Testen der geschriebenen Programme erlaubt es DrHaskell, in speziellen Kommentaren Testausdrücke anzugeben. Diese werden automatisch beim Laden des Moduls ausgeführt. Sollte ein Test fehlschlagen, wird dies ebenfalls an dieser Stelle angezeigt.
|
|
|
Momentan stehen dazu die Funktionen `checkExpect` und `quickCheck` zur Verfügung. `checkExpect` vergleicht einfach zwei Ausdrücke, so kann im üblichen Fall ein Ausdruck und das dazugehörige Ergebnis angegeben werden. `quickCheck` dagegen ist eine Anbindung des QuickCheck-Paketes und verwendet sich wie dieses.
|
|
|
Momentan stehen dazu die Funktionen `checkExpect` und `quickCheck` zur Verfügung. `checkExpect` vergleicht einfach zwei Ausdrücke, so kann im üblichen Fall ein Ausdruck und das dazugehörige Ergebnis angegeben werden. `quickCheck` dagegen ist eine Anbindung des QuickCheck-Paketes und verwendet sich wie dieses. Dabei muss beachtet werden, dass der Typ der Ausdrücke keine uninstanziierten Typvariablen enthalten darf. Das bedeutet, das z.B. `checkExpect (Left 42) (Left (21 + 21))` nicht getestet werden kann, da die Audrücke den Typ `Either Int a` haben. Dies kann durch das Ergänzen beider Ausdrücke um eine explizite Typung, also z.B. `:: Either Int Int`, behoben werden.
|
|
|
|
|
|
Beispiele:
|
|
|
|
... | ... | |