Showing unittest in documentation (Was Re: std.unittests
foobar
foo at bar.com
Tue Jan 25 02:10:49 PST 2011
Jonathan M Davis Wrote:
> On Monday 24 January 2011 15:27:08 foobar wrote:
<snip>
> >
> > Unit-tests are defined on a module level, not a function level, hence I
> > would expect to see the unit-tests that serve as examples to appear in an
> > examples section on the page the documents the module itself. In the
> > online docs I would expect the function names used in the example to be
> > links to the individual function doc and for each function have a list of
> > links to examples it participated in. This should be automatic and the
> > user shouldn't need to provide the "list of functions documented in this
> > example".
> >
> > Just my two cents..
>
> Examples almost always go with functions. The whole point is to avoid having to
> have the function examples both in the documentation and in a unittest block. It
> would be a huge mess to try and put all of the examples in the module
> documentation. I shudder to think what that would look like for std.algorithm -
> or even worse (_far_ worse), std.datetime. The simple syntax of
>
> /++ Example +/
> unittest
> {
> }
>
>
> making that unittest block go in the documentation of the preceding function
> should work just fine. We already have /++ Ditto +/ which puts a function in with
> the preceding function's documentation. So, having /++ Example +/ on top of that
> isn't much of a stretch.
>
> - Jonathan M Davis
Depends on what you mean by example.
It seems to me that by "Example" you mean something like a line or two that just show how to call a function. I meant by "Example" a more complicated small program that exercises several functions in the module.
something more like a tutorial for using the module.
For my kind of example you need to provide just one or two examples for a module, it makes more sense to put it at the module level and also in a unit-test block.
Your kind of example looks less useful to me and I personally wouldn't bother with unit-testing it.
I guess it's just personal style and preferences.
More information about the Digitalmars-d
mailing list