statement unittest
Nick Treleaven
nick at geany.org
Sat Mar 23 16:28:14 UTC 2024
On Saturday, 23 March 2024 at 09:43:20 UTC, Dom DiSc wrote:
> I agree, that looks somewhat ugly. But if you have such short
> functions and short unittest, why not sort them:
>
> ```d
> auto reduce(alias F,R)(R r)=>r.acc!F.last.front;
> auto all(alias F,R)(R r)=>r.map!F.filter!(a=>!a).empty;
> auto any(alias F,R)(R r)=> ! r.filter!F.empty;
> auto count(R)(R r)=>r.reduce!((a,int b=0)=>b+1);
>
> unittest
> {
> assert(counter(10).reduce!((a,int b=0)=>a+b)==45);
> assert([1,3,5,7,9].torange.all!(a=>a%2));
> assert([1,2,3,4,15].torange.any!(a=>a==15));
> assert(counter(10).filter!(a=>a%2).count==5);
> }
> ```
>
> That's pretty much as short as your proposal and even more
> readable.
Then you can't have documented unittests for each function.
More information about the dip.ideas
mailing list