DSpec / Templates + Delegates

Masahiro Nakagawa repeatedly at gmail.com
Tue Mar 30 13:08:45 PDT 2010


Hi,

I read sources. I have something on my chest.

- ruun package
Umm...need?

- import ruun.dspec.Spec; import ruun.dspec.Should;
I think ruun.dspec.Spec should uses "public import" for Should module.
Is there a case that spec empties in it! ?

- Spec methods
Why final? How can I create custom Spec?

I expect the maturation of this project in a good direction.


On Tue, 30 Mar 2010 20:58:39 +0900, Ruun <ruunhb at googlemail.com> wrote:

> Hi everyone,
>
> for my coming projects i was searching for a BDD-Framework similar like  
> Ruby/RSpec or Scala/ScalaTest.
> Unfortanetly, i didn't find either an implementation on dsource.org or  
> something about here on the mailing list (Especially
> for D2).
>
> After looking into the old source of Tango-based DUnit, some postings  
> here on the mailing list about assertions / unittests, i started a small  
> try with Phobos D2 and i'm currently really amazed how clear the API can  
> be by using templates + delegates + alias.
>
> If someone is interested, i recently hosted a project DSpec on  
> dsource.org and provide an experimantel example there
> http://www.dsource.org/projects/dspec/
> (Current source can be also found)
>
> I'm not sure if something similar is possible in D1 and honestly it's  
> the first time i'm currently working with Templates in D so intensely.
> But after seeing such possibilities, i'm so impressed about D2.
>
> void each(alias array, T : T[] = typeof(array))(void delegate(T item)  
> dg) {
>    foreach(T i; array)
>      dg(i);
> }
>
>    int[] array = [1, 2, 3, 4];
>    int b = 10;
>
>    each!(array) = (int item) {
>      writefln("%d", item + b);
>    };
>
> This is almost looking like an iteration in Ruby and Scala!
> (I hope i'm not abusing the alias parameter in templates)
>
> Chris
>



More information about the Digitalmars-d mailing list