SqueakCheck is a port of Haskell's QuickCheck.QuickCheck provides several independent features:an easily extensible test data generatora test runner that takes "properties" - single-parameter blocks - and spits out results. In particular, it prints out counterexamples to your supposedly invariant properties.JUnit 4.0 provides precisely the same features - an@Theory takes data from an@DataPointsource, and a custom test runner repeatedly feeds data until the Theory fails.In SqueakCheck, aTheoryTestCaseprovides support for running theories - unary methods marked with the <theory> or <theoryTaking: #MyClassName> pragmas.TheTheoryTestCaseuses the#ClassNameto instantiate a prototype. It uses the prototype to generate test cases using aRandomDataGenerator.To quickly check out the code, run this:Installer ss project: 'SqueakCheck'; install: 'SqueakCheck-Info'; install: 'SqueakCheck-Generators'; install: 'SqueakCheck-SUnit'; install: 'SqueakCheck-Runners'. "If you'd like to see more complex examples, run the below:" Installer ss project: 'Nutcracker'; install: 'AlgebraicDataType'. Installer ss project: 'SqueakCheck'; install: 'SqueakCheckForAlgebraicDataType'.