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 define-record-procedures-2
|
||||||
define-record-procedures-parametric define-record-procedures-parametric-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
|
check-property for-all ==> expect expect-within
|
||||||
contract : define-contract -> mixed one-of predicate combined property
|
contract : define-contract -> mixed one-of predicate combined property
|
||||||
number real rational integer natural boolean true false string symbol empty-list unspecific
|
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 define-record-procedures-2
|
||||||
define-record-procedures-parametric define-record-procedures-parametric-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
|
check-property for-all ==> expect expect-within
|
||||||
contract : define-contract -> mixed one-of predicate combined property
|
contract : define-contract -> mixed one-of predicate combined property
|
||||||
number real rational integer natural boolean true false string empty-list unspecific
|
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 let let* letrec lambda cond if else begin and or
|
||||||
define-record-procedures define-record-procedures-parametric
|
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
|
check-property for-all ==> expect expect-within
|
||||||
contract : define-contract -> mixed one-of predicate combined property
|
contract : define-contract -> mixed one-of predicate combined property
|
||||||
number real rational integer natural boolean true false string empty-list
|
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 let let* letrec lambda cond if else begin and or
|
||||||
define-record-procedures define-record-procedures-parametric
|
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
|
check-property for-all ==> expect expect-within
|
||||||
contract : define-contract -> mixed one-of predicate combined property
|
contract : define-contract -> mixed one-of predicate combined property
|
||||||
number real rational integer natural boolean true false string empty-list
|
number real rational integer natural boolean true false string empty-list
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#lang scheme/base
|
#lang scheme/base
|
||||||
|
|
||||||
; DeinProgramm version of collects/test-engine/test-display.ss
|
; DeinProgramm version of collects/test-engine/test-display.ss
|
||||||
; synched with SVN rev 11385
|
; synched with SVN rev 16065
|
||||||
|
|
||||||
(provide contract-test-display%)
|
(provide contract-test-display%)
|
||||||
|
|
||||||
|
@ -231,6 +231,16 @@
|
||||||
(expected-error-message fail))]
|
(expected-error-message fail))]
|
||||||
[(message-error? fail)
|
[(message-error? fail)
|
||||||
(for-each print-formatted (message-error-strings 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)
|
[(property-fail? fail)
|
||||||
(print-string "Eigenschaft falsifizierbar mit")
|
(print-string "Eigenschaft falsifizierbar mit")
|
||||||
(for-each (lambda (arguments)
|
(for-each (lambda (arguments)
|
||||||
|
|
|
@ -228,7 +228,7 @@
|
||||||
((not (procedure? proc))
|
((not (procedure? proc))
|
||||||
(contract-violation proc self #f #f))
|
(contract-violation proc self #f #f))
|
||||||
((not (procedure-arity-includes? proc arg-count)) ; #### variable arity
|
((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
|
(attach-name
|
||||||
(object-name proc)
|
(object-name proc)
|
||||||
(procedure-reduce-arity
|
(procedure-reduce-arity
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
(lambda (maybe)
|
(lambda (maybe)
|
||||||
(if (not (= (length args) arg-count))
|
(if (not (= (length args) arg-count))
|
||||||
(begin
|
(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)))
|
(apply-contract return-contract (apply proc args)))
|
||||||
(let* ((old-violation-proc (contract-violation-proc))
|
(let* ((old-violation-proc (contract-violation-proc))
|
||||||
(arg-violation? #f)
|
(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]
|
des ersten @scheme[expr] maximal um @scheme[_delta]
|
||||||
von der entsprechenden Zahl im zweiten @scheme[expr] abweicht.}
|
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)]{
|
@defform[(check-error expr expr)]{
|
||||||
|
|
||||||
Dieser Testfall überprüft, ob der erste @scheme[expr] einen Fehler produziert,
|
Dieser Testfall überprüft, ob der erste @scheme[expr] einen Fehler produziert,
|
||||||
|
|
|
@ -64,6 +64,8 @@
|
||||||
]
|
]
|
||||||
[test-case @#,scheme[(check-expect expr expr)]
|
[test-case @#,scheme[(check-expect expr expr)]
|
||||||
@#,scheme[(check-within expr 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-error expr expr)]
|
||||||
@#,scheme[(check-property expr)]]
|
@#,scheme[(check-property expr)]]
|
||||||
#;(...
|
#;(...
|
||||||
|
|
Loading…
Reference in New Issue
Block a user