Structure tests in named test cases.

This commit is contained in:
Sergiu Ivanov 2020-12-20 20:49:33 +01:00
parent 26d7620dc5
commit 7d70eafd54
1 changed files with 21 additions and 18 deletions

View File

@ -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