Types for the other `check-expect'-style forms.
svn: r17657
This commit is contained in:
parent
e90853cccd
commit
104adf9c62
17
collects/tests/typed-scheme/succeed/check-within.ss
Normal file
17
collects/tests/typed-scheme/succeed/check-within.ss
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
|
||||||
|
#lang typed-scheme
|
||||||
|
|
||||||
|
(require scheme/math typed/test-engine/scheme-tests)
|
||||||
|
|
||||||
|
(define-struct: circle ({radius : Number}))
|
||||||
|
(: circle-area (circle -> Number))
|
||||||
|
|
||||||
|
(check-within (+ 1 2.14) pi .1)
|
||||||
|
(check-range 2 1 3)
|
||||||
|
(check-member-of 'a 'b 'c 'd 'a 'z)
|
||||||
|
(check-error (error "fail") "fail")
|
||||||
|
|
||||||
|
(define (circle-area c)
|
||||||
|
(* pi (circle-radius c) (circle-radius c)))
|
||||||
|
|
||||||
|
(test)
|
|
@ -26,6 +26,14 @@
|
||||||
(insert-test _ (lambda () (check-values-expected _ _ _ _))))))
|
(insert-test _ (lambda () (check-values-expected _ _ _ _))))))
|
||||||
#'insert-test])
|
#'insert-test])
|
||||||
(Univ (-> Univ) . -> . -Void)]
|
(Univ (-> Univ) . -> . -Void)]
|
||||||
|
;; builder
|
||||||
|
[(syntax-parse (local-expand #'(ce:check-expect 1 1) 'module #f)
|
||||||
|
#:literals (let when define-values)
|
||||||
|
[(define-values _
|
||||||
|
(let ((_ (nvv _ _ builder _)))
|
||||||
|
_))
|
||||||
|
#'builder])
|
||||||
|
(-> Univ)]
|
||||||
;; check-values-expected
|
;; check-values-expected
|
||||||
[(syntax-parse (local-expand #'(ce:check-expect 1 1) 'module #f)
|
[(syntax-parse (local-expand #'(ce:check-expect 1 1) 'module #f)
|
||||||
#:literals (let when define-values)
|
#:literals (let when define-values)
|
||||||
|
@ -35,13 +43,41 @@
|
||||||
(insert-test _ (lambda () (check-values-expected _ _ _ _))))))
|
(insert-test _ (lambda () (check-values-expected _ _ _ _))))))
|
||||||
#'check-values-expected])
|
#'check-values-expected])
|
||||||
((-> Univ) Univ Univ Univ . -> . -Void)]
|
((-> Univ) Univ Univ Univ . -> . -Void)]
|
||||||
;; builder
|
;; check-values-within
|
||||||
[(syntax-parse (local-expand #'(ce:check-expect 1 1) 'module #f)
|
[(syntax-parse (local-expand #'(ce:check-within 1 1 1) 'module #f)
|
||||||
#:literals (let when define-values)
|
#:literals (let when define-values)
|
||||||
[(define-values _
|
[(define-values _
|
||||||
(let ((_ (nvv _ _ builder _)))
|
(let ((_ _))
|
||||||
_))
|
(when _
|
||||||
#'builder])
|
(insert-test _ (lambda () (check-values-within _ _ _ _ _))))))
|
||||||
(-> Univ)]))
|
#'check-values-within])
|
||||||
|
((-> Univ) Univ -Real Univ Univ . -> . -Void)]
|
||||||
|
;; check-values-error
|
||||||
|
[(syntax-parse (local-expand #'(ce:check-error 1 "foo") 'module #f)
|
||||||
|
#:literals (let when define-values)
|
||||||
|
[(define-values _
|
||||||
|
(let ((_ _))
|
||||||
|
(when _
|
||||||
|
(insert-test _ (lambda () (check-values-error _ _ _ _))))))
|
||||||
|
#'check-values-error])
|
||||||
|
((-> Univ) -String Univ Univ . -> . -Void)]
|
||||||
|
;; check-range-values-expected
|
||||||
|
[(syntax-parse (local-expand #'(ce:check-range 1 1 1) 'module #f)
|
||||||
|
#:literals (let when define-values)
|
||||||
|
[(define-values _
|
||||||
|
(let ((_ _))
|
||||||
|
(when _
|
||||||
|
(insert-test _ (lambda () (check-range-values-expected _ _ _ _ _))))))
|
||||||
|
#'check-range-values-expected])
|
||||||
|
((-> -Real) -Real -Real Univ Univ . -> . -Void)]
|
||||||
|
;; check-member-of-values-expected
|
||||||
|
[(syntax-parse (local-expand #'(ce:check-member-of 1 1) 'module #f)
|
||||||
|
#:literals (let when define-values)
|
||||||
|
[(define-values _
|
||||||
|
(let ((_ _))
|
||||||
|
(when _
|
||||||
|
(insert-test _ (lambda () (check-member-of-values-expected _ _ _ _ _))))))
|
||||||
|
#'check-member-of-values-expected])
|
||||||
|
((-> Univ) Univ (-lst Univ) Univ Univ . -> . -Void)]))
|
||||||
|
|
||||||
(begin-for-syntax (initialize-type-env ce-env))
|
(begin-for-syntax (initialize-type-env ce-env))
|
Loading…
Reference in New Issue
Block a user