Structure tests in named test cases.
This commit is contained in:
parent
26d7620dc5
commit
7d70eafd54
1 changed files with 21 additions and 18 deletions
|
@ -34,7 +34,8 @@
|
|||
(f x))))
|
||||
|
||||
(module+ test
|
||||
(check-equal? ((compose-n add1 add1 add1) 3) 6))
|
||||
(test-case "compose-n"
|
||||
(check-equal? ((compose-n add1 add1 add1) 3) 6)))
|
||||
|
||||
(: compose-3 (All (a b c d)
|
||||
(-> (-> c d)
|
||||
|
@ -114,17 +115,18 @@
|
|||
(λ (x) (f1 (f2 (f3 (f4 (f5 (f6 (f7 (f8 (f9 x)))))))))))
|
||||
|
||||
(module+ test
|
||||
(define (s->n [s : String]) (cast (string->number s) Number))
|
||||
(define (n->s [n : Number]) (number->string n))
|
||||
(check-equal? ((compose-3 n->s add1 s->n) "3") "4")
|
||||
(check-equal? ((compose-4 n->s add1 add1 s->n) "3") "5")
|
||||
(check-equal? ((compose-5 n->s add1 add1 add1 s->n) "3") "6")
|
||||
(check-equal? ((compose-6 n->s add1 add1 add1 add1 s->n) "3") "7")
|
||||
(check-equal? ((compose-7 n->s add1 add1 add1 add1 add1 s->n) "3") "8")
|
||||
(check-equal?
|
||||
((compose-8 n->s add1 add1 add1 add1 add1 add1 s->n) "3") "9")
|
||||
(check-equal?
|
||||
((compose-9 n->s add1 add1 add1 add1 add1 add1 add1 s->n) "3") "10"))
|
||||
(test-case "compose-3 to compose-9"
|
||||
(define (s->n [s : String]) (cast (string->number s) Number))
|
||||
(define (n->s [n : Number]) (number->string n))
|
||||
(check-equal? ((compose-3 n->s add1 s->n) "3") "4")
|
||||
(check-equal? ((compose-4 n->s add1 add1 s->n) "3") "5")
|
||||
(check-equal? ((compose-5 n->s add1 add1 add1 s->n) "3") "6")
|
||||
(check-equal? ((compose-6 n->s add1 add1 add1 add1 s->n) "3") "7")
|
||||
(check-equal? ((compose-7 n->s add1 add1 add1 add1 add1 s->n) "3") "8")
|
||||
(check-equal?
|
||||
((compose-8 n->s add1 add1 add1 add1 add1 add1 s->n) "3") "9")
|
||||
(check-equal?
|
||||
((compose-9 n->s add1 add1 add1 add1 add1 add1 add1 s->n) "3") "10")))
|
||||
|
||||
(define-syntax (multi-compose stx)
|
||||
;; Implementation by Sorawee Porncharoenwase.
|
||||
|
@ -135,12 +137,13 @@
|
|||
#'(compose f (multi-compose funcs ...))]))
|
||||
|
||||
(module+ test
|
||||
(check-equal? ((multi-compose add1
|
||||
(λ ([x : Number]) (* x 3))
|
||||
add1
|
||||
(λ ([x : Number]) (+ x 2)))
|
||||
3)
|
||||
19))
|
||||
(test-case "multi-compose"
|
||||
(check-equal? ((multi-compose add1
|
||||
(λ ([x : Number]) (* x 3))
|
||||
add1
|
||||
(λ ([x : Number]) (+ x 2)))
|
||||
3)
|
||||
19)))
|
||||
|
||||
(define-syntax (multi-chain stx)
|
||||
(syntax-parse stx
|
||||
|
|
Loading…
Reference in a new issue