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