;;; test-leaf.scm -- test leaf objects
;;; 
;;; This test case creates many leaf objects (strings and integers).

(load "test-common.scm")

(define (triangle n) (if (eqv? n 0) 0 (+ n (triangle (- n 1)))))
(check '(triangle 10000) 50005000)
(check '(length (range 1000)) 1000)
(check '(let ((f (lambda (n) (make-string n #\x))))
          (string-length (apply string-append (map f (range 100)))))
       (triangle 100))
(check '(sum (map (lambda (n) (sum (range n))) (range 800))) 85653600)

(write-string "All tests pass.")
(newline)