This is a simple testing framework to support computational modellers in separating out the scientific value of different aspects of their code. The code is assumed to provide an architecture (or framework), supporting the development of different models (or simulations).
Tests are divided into three groups:
- Unit tests for low-level, implementational details of the architecture.
- Process tests for functional aspects, usually linked to terms used within the implemented scientific theory.
- Canonical-result tests for the implemented models based on the architecture.
Further information about the testing framework may be found in:
-
P.C.R. Lane and F. Gobet, 'A theory-driven testing methodology for developing scientific software', Journal of Experimental and Theoretical Artificial Intelligence, 24:421-56, 2012.
-
P.C.R. Lane and F. Gobet, 'A methodology for developing computational implementations of scientific theories', Proceedings of the Tenth International Conference on Computer Modelling & Simulation (IEEE Computer Society), pp.392-7, 2008.
This project defines implementations of the testing framework in:
- Java, as an extension to junit using categories
- Lisp
- Ruby
(to come)
> jruby -S gem install modellers_testing_framework
Use Quicklisp:
- Download lisp/modellers-testing-framework to quicklisp/local-projects
(ql:quickload "modellers-testing-framework")
or download the file "modellers-testing-framework.lisp" and include into project.
modellers_testing_framework is distributed under the terms of the Open Works License
Copyright (c) 2007-13, Peter Lane.