(module config mzscheme
(require (lib "framework.ss" "framework"))
(provide (all-defined))
(define (size? x)
(and (number? x)
(exact? x)
(integer? x)
(positive? x)
(< 0 x 10000)))
(preferences:set-default 'schemeunit:frame:width 400 size?)
(preferences:set-default 'schemeunit:frame:height 400 size?)
(define pref:width
(case-lambda
[() (preferences:get 'schemeunit:frame:width)]
[(v) (preferences:set 'schemeunit:frame:width v)]))
(define pref:height
(case-lambda
[() (preferences:get 'schemeunit:frame:height)]
[(v) (preferences:set 'schemeunit:frame:height v)]))
(define DETAILS-CANVAS-INIT-WIDTH 400)
(define FRAME-LABEL "SchemeUnit")
(define FRAME-INIT-HEIGHT 400)
(define TREE-INIT-WIDTH 240)
(define TREE-COLORIZE-CASES #t)
(define DIALOG-ERROR-TITLE "SchemeUnit: Error")
(define STATUS-SUCCESS 'success)
(define STATUS-FAILURE 'failure)
(define STATUS-ERROR 'error)
(define STATUS-UNEXECUTED 'unexecuted)
(define VIEW-PANE-PERCENTS
(let [(total (+ DETAILS-CANVAS-INIT-WIDTH TREE-INIT-WIDTH))]
(list (/ TREE-INIT-WIDTH total) (/ DETAILS-CANVAS-INIT-WIDTH total))))
(define prop:failure-assertion 'name)
(define prop:failure-parameters 'params)
(define prop:failure-location 'location)
(define prop:failure-message 'message)
(define prop:test-case-location 'test-case-location)
(define (known-property? s)
(case s
((name params location message test-case-location) #t)
((actual expected) #t)
((expression) #t)
(else #f)))
)