[Haskell-cafe] Quick-check: how to generate arbitrary complex data?
s9gf4ult at gmail.com
Sat Jul 13 10:56:52 CEST 2013
On Sat, 13 Jul 2013 10:10:39 +0200
martin <martin.drautzburg at web.de> wrote:
> This requires HashedList to be a new type, right? So far my code only
> used type synonyms.
> Does this mean I have to convert type synonyms into types in order to
> use QuickCheck?
> Does this mean I have to "plan for QuickCheck" when I design my types?
You can still create your own Gen manually and have several generators
for different 'types'.
You will need to use 'forAll' combinator to perform the testing like this:
type ListA = [A]
type OtherListA = [A]
genListA :: Gen ListA
genOtherListA :: Gen OtherListA
checkListA :: ListA -> Property
checkOtherListA :: OtherListA -> Property
prop1 = forAll genListA checkListA
prop2 = forAll genOtherListA checkOtherListA
Aleksey Uymanov <s9gf4ult at gmail.com>
More information about the Haskell-Cafe