(import scheme (chicken base) checks simple-tests) (define x 5) (define-test (checks?) (assert* 'x (integer? x)) (assert* 'x (integer? x) (odd? x)) (not (condition-case (assert* 'x (integer? x) (even? x)) ((exn assert) #f))) (= (>> x) 5) (= (<< x) 5) (= (>> x integer? odd?) 5) (= (>>% 'x x integer? odd?) 5) (= (<< x integer? odd?) 5) (= (<<% 'x x integer? odd?) 5) (= (<<< 'loc x integer? odd?) 5) (= (>>> 'loc x integer? odd?) 5) (= (<<<% 'loc 'x x integer? odd?) 5) (= (>>>% 'loc 'x x integer? odd?) 5) (not (condition-case (<<% 'x x integer? even?) ((exn argument) #f))) (not (condition-case (<<<% 'loc 'x x integer? even?) ((exn argument) #f))) (not (condition-case (>> x integer? even?) ((exn result) #f))) (not (<< ((lambda () #f)) boolean?)) (= ((named-lambda (! n) (if (zero? n) 1 (* n (! (- n 1))))) 5) 120) ) (compound-test (CHECKS) (checks?) )