php-easycheck

Last updated: 2015-11-25 18:02:43 +0000

Upstream URL: git clone http://chriswarbo.net/git/php-easycheck.git

Repo

View repository

View issue tracker

Contents of follows


= EasyCheck =

A basic property-checking framework, in the spirit of QuickCheck.

EasyCheck defines three functions:

== Tests ==

Tests can be any callable and can take any number of arguments; EasyCheck will count the required argument number and supply that many random numbers.

Tests can indicate a pass by returning falsy values (false, null, 0, [], ''). To indicate a failure, return a truthy value; this will usually be an error message or some debugging information.

== Usage ==

Internally, tests are kept in an array and keyed by their descriptions, which can be any unique string.

runtests(null) will execute all tests, returning an array of truthy results (ie. the failures).

== Examples ==

deftest('All ints are >gt; or <lt;=', function($x, $y) {
                                  $gt  = $x >gt;  $y;
                                  $lte = $x <lt;= $y;
                                  return ($gt || $lte)? 0
                                                      : get_defined_vars();
                                });