whalesong/tests/older-tests/moby-programs/arity.rkt

31 lines
1023 B
Racket

#lang s-exp "../../lang/wescheme.rkt"
"arity.rkt"
(check-expect (procedure-arity (lambda () (void))) 0)
(check-expect (procedure-arity (lambda (x) (void))) 1)
(check-expect (procedure-arity (lambda (x y . z) (void)))
(make-arity-at-least 2))
(check-expect (arity-at-least? (make-arity-at-least 0))
true)
(check-expect (arity-at-least? 'not-an-arity)
false)
(check-expect (arity-at-least-value
(make-arity-at-least 7))
7)
(define f
(case-lambda [(x y) (list x y)]
[(x y z) (list x y z)]))
(check-expect (procedure-arity-includes? f 2) true)
(check-expect (procedure-arity-includes? f 3) true)
(check-expect (procedure-arity-includes? f 4) false)
(check-expect (procedure-arity-includes? f 0) false)
(check-expect (procedure-arity-includes? (lambda (x) (* x x)) 1) true)
(check-expect (procedure-arity-includes? (lambda (x) (* x x)) 0) false)
(check-expect (procedure-arity-includes? (lambda args (void)) 0) true)
"arity.rkt end"