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 <stephane.ducasse@inria.fr> 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