Make test failure shorthand
This commit is contained in:
parent
8e11af812f
commit
91a6e7feac
|
@ -8,11 +8,14 @@
|
|||
check-documented
|
||||
check-documentation-ratio)
|
||||
|
||||
(define (fail-check-unless cond msg)
|
||||
(unless cond (fail-check msg)))
|
||||
|
||||
(define-check (check-all-documented module-name)
|
||||
(let* ([undocumented (module->undocumented-exported-names module-name)]
|
||||
[num-undocumented (length undocumented)])
|
||||
(unless (zero? num-undocumented)
|
||||
(fail-check (check-all-documented-message module-name num-undocumented undocumented)))))
|
||||
(fail-check-unless (zero? num-undocumented)
|
||||
(check-all-documented-message module-name num-undocumented undocumented))))
|
||||
|
||||
(define (check-all-documented-message module-name num-undocumented undocumented)
|
||||
(string-append "Module "
|
||||
|
@ -29,8 +32,8 @@
|
|||
"Module foo has 8 undocumented bindings:\n\nfoo1\nfoo2\nfoo3"))
|
||||
|
||||
(define-check (check-documented module-name binding)
|
||||
(unless (has-docs? module-name binding)
|
||||
(fail-check (check-documented-message module-name binding))))
|
||||
(fail-check-unless (has-docs? module-name binding)
|
||||
(check-documented-message module-name binding)))
|
||||
|
||||
(define (check-documented-message module-name binding)
|
||||
(string-append "Module "
|
||||
|
@ -45,15 +48,8 @@
|
|||
|
||||
(define-check (check-documentation-ratio module-name minimum-ratio)
|
||||
(let ([actual-ratio (module-documentation-ratio module-name)])
|
||||
(unless (>= actual-ratio minimum-ratio)
|
||||
(fail-check
|
||||
(string-append "Module "
|
||||
(symbol->string module-name)
|
||||
" does not document at least "
|
||||
(number->string (exact->inexact (* 100 minimum-ratio)))
|
||||
"% of its bindings, only documents "
|
||||
(number->string (exact->inexact (* 100 actual-ratio)))
|
||||
"%")))))
|
||||
(fail-check-unless (>= actual-ratio minimum-ratio)
|
||||
(check-documentation-ratio-message module-name minimum-ratio actual-ratio))))
|
||||
|
||||
(define (check-documentation-ratio-message module-name minimum-ratio actual-ratio)
|
||||
(string-append "Module "
|
||||
|
|
Loading…
Reference in New Issue
Block a user