1 - Thanks for welcoming me :)
2 - I generally use the FreeBSD license. In any case, QuickSmash has no
license for now.
3 - QuickSmash is an interesting approach to unit testing.
The idea is to test "properties", which are lambdas in Lisp and closures in
Smalltalk.
One property is a closure that accepts an integer and evaluates whether the
integer is even. Call it "propEven".
Another property checks whether an encryption system works, by checking s =
decrypt(encrypt(s)).
QuickSmash has a class method testProperty:withGenerators: that generates
100 test cases for the property. If a test case fails, QuickSmash stops
checking and reports the values which fail to exhibit the property.
Example:
"Are all strings reversible?"
propReversible := [ :s | s = (s reverse) reverse].
QuickSmash testProperty: propReversible withGenerators: { [ QuickSmash
genString. ] }.
If you install QuickSmash and evaluate the above code, you'll see the
output:
+++ OK, passed 100 tests.
I'm only just familiar with GNU Smalltalk, but installing QuickSmash is
fairly simple.
$ git clone https://github.com/mcandre/quicksmash.git
$ make
(The make command runs gst-package, which loads the package and saves the
image).
Cheers,
Andrew Pennebaker
www.yellosoft.us
On Sun, Aug 7, 2011 at 4:43 PM, Stéphane Ducasse
<[email protected]>wrote:
> Andrew
>
> First welcome :)
> Second you should pay attention to the license of the code because GPL is
> not compatible with Smalltalk in general.
> Third why quickMash is interesting because I could not get it.
>
> Stef
>
> On Aug 7, 2011, at 10:20 PM, Andrew Pennebaker wrote:
>
> > Can someone help me make QuickSmash Pharo-friendly? It's a unit test
> framework based on QuickCheck.
> >
> > QuickSmash
> > https://github.com/mcandre/quicksmash
> >
> > Cheers,
> >
> > Andrew Pennebaker
> > www.yellosoft.us
>
>
>