Example #1
0
function test($test)
{
    return call_user_func_array($test, array_map('random', up_to(arity($test))));
}
Example #2
0
<?php

set_error_handler(function () {
    var_dump(array('args' => func_get_args(), 'trace' => debug_backtrace()));
    die;
});
defun('sample', function ($f, $n) {
    return array_map($f, up_to($n));
});
defuns(call_user_func(function () {
    $tests = array();
    $run = function ($t) {
        return call_user_func_array($t[0], sample('random', $t[1]));
    };
    return array('deftest' => function ($name, $test) use(&$tests) {
        $tests[$name] = array($test, arity($test));
    }, 'runtests' => function ($t) use(&$tests, $run) {
        return is_array($t) ? $run($t) : array_filter(array_map($run, $tests));
    }, 'deftests' => key_map('deftest'));
}));