std.unittests [updated] for review

Nick Sabalausky a at a.a
Mon Jan 24 12:16:08 PST 2011


"Jonathan M Davis" <jmdavisProg at gmx.com> wrote in message 
news:mailman.888.1295879701.4748.digitalmars-d at puremagic.com...
> In case you didn't know, I have a set of unit test helper functions which 
> have
> been being reviewed for possible inclusion in phobos. Here's an update.
>
> Most recent code: http://is.gd/F1OHat
>
> Okay. I took the previous suggestions into consideration and adjusted the 
> code a
> bit more. However, most of the changes are to the documentation (though 
> there
> are some changes to the code). Some of the code duplication was removed, 
> and the
> way that some of the assertPred functions' errors are formatted has been 
> altered
> so that values line up vertically, making them easier to compare. The big 
> change
> is the docs though. There's now a fake version of assertPred at the top 
> with an
> overall description for assertPred followed by the individual versions 
> with as
> little documentation as seemed appropriate while still getting all of the
> necessary information across. A couple of the functions still have 
> irritatingly
> long example sections, but anything less wouldn't get the functionality 
> across.
>
> In any case. Here's the updated code. Review away. Andrei set the vote 
> deadline
> for February 7th, at which point, if it passes majority vote, then it will 
> go
> into Phobos. The number of functions is small enough now (thanks to having
> consolidated most of them into the fantastically versatile assertPred) 
> that it
> looks like it will likely go in std.exception if the vote passes rather 
> than
> becoming a new module. So, the std.unittests title has now become a bit of 
> a
> misnomer, but that's what I've been calling it, so it seemed appropriate 
> to
> continue to label it that way in the thread's title.
>

Very nice!

One minor change I'd suggest, for both readability and consistency:

assertPred!"a == b"(1, 2);

Current result:

assertPred!"a == b" failed: [1] (a), [2] (b).

Suggested result:

assertPred!"a == b" failed:
[1] (a)
[2] (b)

Or maybe even:

assertPred!"a == b" failed: 1 == 2
[1] (a)
[2] (b)

Note the variable->value subsitution made on the original predicate string.




More information about the Digitalmars-d mailing list