Add check-member-of' and
check-range' to the DeinProgramm/DMdA
languages. svn: r16337
This commit is contained in:
parent
c4e9f3d1aa
commit
aa2e094311
|
@ -9,7 +9,7 @@
|
|||
define-record-procedures define-record-procedures-2
|
||||
define-record-procedures-parametric define-record-procedures-parametric-2
|
||||
.. ... .... ..... ......
|
||||
check-expect check-within check-error
|
||||
check-expect check-within check-error check-member-of check-range
|
||||
check-property for-all ==> expect expect-within
|
||||
contract : define-contract -> mixed one-of predicate combined property
|
||||
number real rational integer natural boolean true false string symbol empty-list unspecific
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
define-record-procedures define-record-procedures-2
|
||||
define-record-procedures-parametric define-record-procedures-parametric-2
|
||||
.. ... .... ..... ......
|
||||
check-expect check-within check-error
|
||||
check-expect check-within check-error check-member-of check-range
|
||||
check-property for-all ==> expect expect-within
|
||||
contract : define-contract -> mixed one-of predicate combined property
|
||||
number real rational integer natural boolean true false string empty-list unspecific
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
define let let* letrec lambda cond if else begin and or
|
||||
define-record-procedures define-record-procedures-parametric
|
||||
.. ... .... ..... ......
|
||||
check-expect check-within check-error
|
||||
check-expect check-within check-error check-member-of check-range
|
||||
check-property for-all ==> expect expect-within
|
||||
contract : define-contract -> mixed one-of predicate combined property
|
||||
number real rational integer natural boolean true false string empty-list
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
define let let* letrec lambda cond if else begin and or
|
||||
define-record-procedures define-record-procedures-parametric
|
||||
.. ... .... ..... ......
|
||||
check-expect check-within check-error
|
||||
check-expect check-within check-error check-member-of check-range
|
||||
check-property for-all ==> expect expect-within
|
||||
contract : define-contract -> mixed one-of predicate combined property
|
||||
number real rational integer natural boolean true false string empty-list
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#lang scheme/base
|
||||
|
||||
; DeinProgramm version of collects/test-engine/test-display.ss
|
||||
; synched with SVN rev 11385
|
||||
; synched with SVN rev 16065
|
||||
|
||||
(provide contract-test-display%)
|
||||
|
||||
|
@ -231,6 +231,16 @@
|
|||
(expected-error-message fail))]
|
||||
[(message-error? fail)
|
||||
(for-each print-formatted (message-error-strings fail))]
|
||||
[(not-mem? fail)
|
||||
(print "Tatsächlicher Wert ~F ist keins der Elemente "
|
||||
(formatter (not-mem-test fail)))
|
||||
(for-each (lambda (a) (print " ~F" (formatter a))) (not-mem-set fail))
|
||||
(print ".")]
|
||||
[(not-range? fail)
|
||||
(print "Tatsächlicher Wert ~F liegt nicht zwischen ~F und ~F (inklusive)."
|
||||
(formatter (not-range-test fail))
|
||||
(formatter (not-range-min fail))
|
||||
(formatter (not-range-max fail)))]
|
||||
[(property-fail? fail)
|
||||
(print-string "Eigenschaft falsifizierbar mit")
|
||||
(for-each (lambda (arguments)
|
||||
|
|
|
@ -228,7 +228,7 @@
|
|||
((not (procedure? proc))
|
||||
(contract-violation proc self #f #f))
|
||||
((not (procedure-arity-includes? proc arg-count)) ; #### variable arity
|
||||
(contract-violation proc self "wrong number of parameters" #f)))
|
||||
(contract-violation proc self "falsche Anzahl von Parametern" #f)))
|
||||
(attach-name
|
||||
(object-name proc)
|
||||
(procedure-reduce-arity
|
||||
|
@ -238,7 +238,7 @@
|
|||
(lambda (maybe)
|
||||
(if (not (= (length args) arg-count))
|
||||
(begin
|
||||
(contract-violation proc self "wrong number of arguments" #f)
|
||||
(contract-violation proc self "falsche Anzahl von Argumenten" #f)
|
||||
(apply-contract return-contract (apply proc args)))
|
||||
(let* ((old-violation-proc (contract-violation-proc))
|
||||
(arg-violation? #f)
|
||||
|
|
|
@ -319,6 +319,17 @@ der als Wert eine Zahl @scheme[_delta] hat. Der Testfall überprüft, daß jede
|
|||
des ersten @scheme[expr] maximal um @scheme[_delta]
|
||||
von der entsprechenden Zahl im zweiten @scheme[expr] abweicht.}
|
||||
|
||||
@defform[(check-member-of expr expr ...)]{
|
||||
|
||||
Ähnlich wie @scheme[check-expect]: Der Testfall überprüft, daß das Resultat
|
||||
des ersten Operanden gleich dem Wert eines der folgenden Operanden ist.}
|
||||
|
||||
@defform[(check-range expr expr expr)]{
|
||||
|
||||
Ähnlich wie @scheme[check-expect]: Alle drei Operanden müssen ein
|
||||
Zahlen. Der Testfall überprüft, ob die erste Zahl zwischen der
|
||||
zweiten und der dritten liegt (inklusive).}
|
||||
|
||||
@defform[(check-error expr expr)]{
|
||||
|
||||
Dieser Testfall überprüft, ob der erste @scheme[expr] einen Fehler produziert,
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
]
|
||||
[test-case @#,scheme[(check-expect expr expr)]
|
||||
@#,scheme[(check-within expr expr expr)]
|
||||
@#,scheme[(check-member-of expr expr (... ...))]
|
||||
@#,scheme[(check-range expr expr expr)]
|
||||
@#,scheme[(check-error expr expr)]
|
||||
@#,scheme[(check-property expr)]]
|
||||
#;(...
|
||||
|
|
Loading…
Reference in New Issue
Block a user