How do you use templates in D?

Andrew Pennebaker andrew.pennebaker at gmail.com
Tue Oct 18 23:18:02 PDT 2011


Novak: Very cool. Can qcheck automatically figure out a way to generate the
arbitrary data types needed as input for the property/testee? Or did I read
that wrong?

Cheers,

Andrew Pennebaker
www.yellosoft.us

On Tue, Oct 18, 2011 at 11:14 PM, Martin Nowak <dawg at dawgfoto.de> wrote:

> On Tue, 18 Oct 2011 21:17:56 +0200, bearophile <bearophileHUGS at lycos.com>
> wrote:
>
>  Andrew Pennebaker:
>>
>>  The D version will be called dashcheck<https://github.com/**
>>> mcandre/dashcheck <https://github.com/mcandre/dashcheck>>
>>>
>>
>> QuickCheck is one of the good things of Haskell.
>>
>> I have raised the topic few times:
>> http://www.digitalmars.com/d/**archives/digitalmars/D/**
>> QuickCheck-like_in_Phobos_**131256.html<http://www.digitalmars.com/d/archives/digitalmars/D/QuickCheck-like_in_Phobos_131256.html>
>> http://www.digitalmars.com/d/**archives/digitalmars/D/Re_**
>> Unit_Testing_for_D_._72154.**html<http://www.digitalmars.com/d/archives/digitalmars/D/Re_Unit_Testing_for_D_._72154.html>
>>
>> I remember someone has already written one or two D versions of
>> QuickCheck-like (probably D1), but it didn't get a lot of interest in the D
>> newsgroups. One of them:
>> http://www.digitalmars.com/**webnews/newsgroups.php?art_**
>> group=digitalmars.D&article_**id=73949<http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=73949>
>>
>> Bye,
>> bearophile
>>
>
> I wrote a pretty complete port of Haskell's Quickcheck some month ago.
> https://github.com/dawgfoto/**qcheck <https://github.com/dawgfoto/qcheck>
> The main function quickcheck takes the testee as first template parameter
> and a bunch of policies. It will use getArbitraryTuple to construct the
> parameters
> of the testee. It should be able to construct a random instance of any type
> out of the box,
> but you can also pass generators with the policies and they will be used
> instead.
> There is also a Policy RandomizeMembers which will set aggregate members to
> random values
> after construction.
> The testee might return a boolean result or an enum QCheckResult which has
> a third entry
> QCheckResult.Reject.
>
> martin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111019/50765eb1/attachment.html>


More information about the Digitalmars-d mailing list