wader/objcheck — comment on commit afc48fc271d19f586c42b28350ba0bac3a28622b
File:  line 0
By mcandre:

Yes, it's QuickCheck terminology. The idea is to verify that properties hold
true, e.g. isEven(int) does not hold, but reversible(string) should, if your
string reversal method works correctly.

This is more advanced than typical unit test frameworks, which tend to use
very basic things like assert(), which only test a few values. forAll throws
a hundred random test cases at each property, and for some languages, like
Haskell, forAll even shrinks failing test cases to the most basic case, so
you can more easily identify bugs.

Introduction to QuickCheck
http://www.haskell.org/haskellwiki/Introduction_to_QuickCheck

Cheers,

Andrew Pennebaker
www.yellosoft.us

On Sun, Oct 16, 2011 at 4:56 PM, Mattias Wadman <
reply@reply.github.com>wrote:

> Your welcome, hope i didn't break anything. Just be sure to pass the
> correct number of arguments or else i think weird things will happen.
> Also saw that the selector now is called "property" in the forAll method,
> is that quickcheck terminology? maybe it is a bit confusing if not. Don't
> know if if understand how the forAll works.. looks like your collecting an
> array of argument arrays and then pass that the performSelector?
>
> --
> Reply to this email directly or view it on GitHub:
>
> https://github.com/wader/objcheck/commit/afc48fc271d19f586c42b28350ba0bac3a28622b#commitcomment-654661
>