plt/base.ss
;;;
;;; Time-stamp: <06/03/11 12:12:11 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:

;; Provide a bunch of the structures to avoid evaluating
;; their definitions multiple times, which causes problems
;; with generative structures.

(module base mzscheme

  (require (lib "include.ss")
           (lib "contract.ss"))

  (include "../generic/base.ss")
  
  (provide/contract
   (struct (schemeunit-test-case test)
           ((name string?)
            (action (-> any))))
   (struct (schemeunit-test-suite test)
           ((name string?)
            (tests (listof test?))
            (before (-> any))
            (after (-> any)))))

  (provide (struct exn:test ())
           (struct exn:test:check (stack))
           (struct exn:test:check:internal ())
           (struct test-result (test-case-name))
           (struct test-failure (result))
           (struct test-error (result))
           (struct test-success (result)))
  
  )