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.
$ make
(The make command runs�gst-package, which loads the package and saves the image).
Cheers,
Andrew Pennebaker
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