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
>
>
>

Reply via email to