On this page:
check-expect
check-within
check-member-of
check-range
check-error
check-property

1.12 Testfälle

syntax

(check-expect expr expr)

Dieser Testfall überprüft, ob der erste expr den gleichen Wert hat wie der zweite expr, wobei das zweite expr meist ein Literal ist.

syntax

(check-within expr expr expr)

Wie check-expect, aber mit einem weiteren Ausdruck, der als Wert eine Zahl delta hat. Der Testfall überprüft, daß jede Zahl im Resultat des ersten expr maximal um delta von der entsprechenden Zahl im zweiten expr abweicht.

syntax

(check-member-of expr expr ...)

Ähnlich wie check-expect: Der Testfall überprüft, daß das Resultat des ersten Operanden gleich dem Wert eines der folgenden Operanden ist.

syntax

(check-range expr expr expr)

Ähnlich wie check-expect: Alle drei Operanden müssen Zahlen sein. Der Testfall überprüft, ob die erste Zahl zwischen der zweiten und der dritten liegt (inklusive).

syntax

(check-error expr expr)

Dieser Testfall überprüft, ob der erste expr einen Fehler produziert, wobei die Fehlermeldung der Zeichenkette entspricht, die der Wert des zweiten expr ist.

syntax

(check-property expr)

Dieser Testfall überprüft experimentell, ob die Eigenschaft expr erfüllt ist. Dazu werden zufällige Werte für die mit for-all quantifizierten Variablen eingesetzt: Damit wird überprüft, ob die Bedingung gilt.

Wichtig: check-property funktioniert nur für Eigenschaften, bei denen aus den Signaturen sinnvoll Werte generiert werden können. Dies ist für die meisten eingebauten Signaturen der Fall, aber nicht für Signaturvariablen und Signaturen, die mit predicate oder define-record-procedures definiert wurden - wohl aber für Signaturen, die mit dem durch define-record-procedures-parametric definierten Signaturkonstruktor erzeugt wurden.