plt/base-test.ss
;;;
;;; Time-stamp: <06/03/11 12:14:24 noel>
;;;
;;; Copyright (C) 2005 by Noel Welsh.
;;;

;;; This library is free software; you can redistribute it
;;; and/or modify it under the terms of the GNU Lesser
;;; General Public License as published by the Free Software
;;; Foundation; either version 2.1 of the License, or (at
;;; your option) any later version.

;;; This library is distributed in the hope that it will be
;;; useful, but WITHOUT ANY WARRANTY; without even the
;;; implied warranty of MERCHANTABILITY or FITNESS FOR A
;;; PARTICULAR PURPOSE.  See the GNU Lesser General Public
;;; License for more details.

;;; You should have received a copy of the GNU Lesser
;;; General Public License along with this library; if not,
;;; write to the Free Software Foundation, Inc., 59 Temple
;;; Place, Suite 330, Boston, MA 02111-1307 USA

;;; Author: Noel Welsh <noelwelsh@yahoo.com>
;;
;;
;; Commentary:

(module base-test mzscheme
  
  (require "test.ss")
  (require "base.ss")
  
  (provide base-tests)
  
  (define base-tests
    (test-suite
     "All tests for base"
     (test-case
      "schemeunit-test-case structure has a contract on name"
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-case
                     #f
                     (lambda () #t)))))
     (test-case
      "schemeunit-test-case structure has a contract on action"
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-case
                     "Name"
                     #f))))
     (test-case
      "schemeunit-test-suite has a contract on its fields"
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-suite
                     #f
                     (list)
                     (lambda () 3)
                     (lambda () 2))))
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-suite
                     "Name"
                     #f
                     (lambda () 3)
                     (lambda () 2))))
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-suite
                     "Name"
                     (list)
                     #f
                     (lambda () 2))))
      (check-exn exn:fail?
                  (lambda ()
                    (make-schemeunit-test-suite
                     "Name"
                     (list)
                     (lambda () 3)
                     #f))))
     ))
  )