cyclone/test-opt2.scm
2016-05-24 23:34:59 -04:00

24 lines
612 B
Scheme

(import (scheme base)
(scheme char)
(scheme file)
(scheme lazy)
(scheme read)
(scheme write)
(scheme eval)
)
(define *num-passed* 0)
(define (assert:equal msg actual expected)
(if (not (equal? actual expected))
(error "Unit test failed [" msg "] actual [" actual "] expected [" expected "]")
(set! *num-passed* (+ *num-passed* 1))))
;; Adder example
(define (make-adder x)
(lambda (y) (+ x y)))
(define decrement (make-adder -1))
(assert:equal "Adder #2" (decrement 42) 41)
(assert:equal "Application example"
((lambda (x) x) (+ 41 1))
42)