QuickCheck is an implementation of the Haskell QuickCheck specification based test tool. The goal of QuickCheck is to replace scenario-based testing with specification-based testing. A QuickCheck-based test tries to cover the laws of a domain whereas classical scenario-based testing can only test the validity for heuristically (manually) picked values. In the absence of tools that could confirm th