skip to navigation
skip to content

doublecheck 0.1pre2012-05-08T10-05-14

Pythonic library for QuickCheck-style randomized testing and SmallCheck-style exhaustive testing of the same test suite.

A library for property-based testing in two different ways:

  1. “QuickCheck” - randomly generated inputs
  2. “SmallCheck” - exhaustively enumerated inputs

These testing approaches are named for the pioneering Haskell libraries. The two approaches truly shine when used together - once a property is found to be refutable by some probably-huge-and-crazy random input, it is often worth investing the CPU time to find the _smallest_ counterexample.

This library is a brand new work-in-progress (see commit log for dates) with known issues:

  • Does not have randomly generated strings just yet.
  • No existential quantification yet, but smallcheck does allow it!
  • Needs more thorough testing.
  • Needs to be able to test that a property always throws an exception.
  • Needs lots more combinators.
  • Needs one-liner interface rather than checking status of test cases.

Installation & Usage

(TODO: Describe in more detail. For now, read doublecheck/ and doublecheck/

$ pip install doublecheck $ python >>> from doublecheck import * >>> ForAll(lambda i: i > 0, PosInts()).quickcheck(100000).status ‘Certain’
File Type Py Version Uploaded on Size
doublecheck-0.1pre2012-05-08T10-05-14.tar.gz (md5) Source 2012-05-08 4KB