fj.test.package-info Maven / Gradle / Ivy
/**
* Reductio is a software package that provides automated specification-based testing and
* is intended to replace traditional testing techniques that have very little automation. Reductio
* encourages users to express properties or theorems about their software, and
* the testing and reporting of the status of those properties occurs by automating various aspects.
* For example, if a property is found to be false (i.e. a test fails), then the counter-example may
* be reduced while still falsifying the property so that the reported counter-example is the
* simplest found (this is called {@link fj.test.Shrink}). The expression of the property also
* serves as very rigorous documentation for the code under test; far surpassing that provided by
* traditional testing techniques.
*
* Many of the concepts of Reductio originated with a paper called QuickCheck: A Lightweight Tool
* for Random Testing of Haskell Programs by Koen Claassen and John Hughes from Chalmers University
* of Technology. Reductio also borrows ideas from ScalaCheck by Rickard Nilsson.
*
* @version %build.number%
*/
package fj.test;