util-test.ss
(module util-test mzscheme

  (require "test.ss"
           "util.ss")

  (provide util-tests)

  (require/expose "assert-test.ss" (good*))
  
  (define util-tests
    (make-test-suite
     "Util tests"
     (make-test-case
      "good* required from assert-test.ss"
      (begin
        (assert-true (procedure? good*))
        (assert-equal? '(0 1) (procedure-arity good*))
        (assert-true (good*))))

     (make-test-case
      "Test make-test-suite*"
      (let ((result
             (run-test
              (make-test-suite*
               "Test make-test-suite*"
               ("Test 1" (assert = 1 1))
               ("Test 2" (assert = 1 1) (assert = 2 4))))))
        (assert = (length result) 2)
        (assert-true (test-success? (car result)))
        (assert-true (test-failure? (cadr result)))))

     (make-test-case
      "Simple assert-regexp test"
      (assert-regexp-match "a*bba"
                           "aaaaaabba"))

     (make-test-case
      "assert-regexp-match failure"
      (assert-exn
       exn:test:assertion?
       (lambda ()
         (assert-regexp-match* "a+bba" "aaaabbba"))))

     ))
  
  )