(require (lib "test.ss" "schemeunit")) (load "eval.ss") (define sa string-append) (define los2 (lambda (list pre in post) (letrec [(helper (lambda (list pre in) (if (null? list) "" (sa pre (car list) (helper (cdr list) in in)))))] (sa pre (helper list "" in) post)))) (define toStringV (lambda (val) (cond [(number? val) (number->string val)] [(list? val) (los2 (map toStringV val) "(" " " ")")] [(symbol? val) (symbol->string val)] [(boolean? val) (if val "true" "false")] [(box? val) (sa "(ref " (toStringV (unbox val)) ")")] [else (tostring val)] ))) (define algolCheck (lambda (output input) (assert equal? output (tostringV ((make-eval-string input)))))) (require (lib "text-ui.ss" "schemeunit")) (test/text-ui assign4xctest)