On 13/07/2014 2:35 p.m., dysmondad wrote:
.....

try:

unittest {
      Velocity v = new Velocity( 2.0f, 5.0f );
      v *= 5.0f;  // <- line 110
      printf( "v = %s\n", to!string(v) );
}

instead. Basically version is like static if, it doesn't indicate its
a function. Instead it changes what code gets compiled.
Where as a unittest block, is essentially just a function that gets
called at a special time, that is only compiled as if
version(unittest) was also used.

Thank you very much. That was quite helpful.

So, what is the generally accepted way include unit testing? TDD is all
the rage these days and I though I would try my hand at it as well as D.

Basically, have a function that does something like string manipulation or complex math? Use a unittest block for it. Which you can do before you write the function. It may not compile however.

Also do note, assert's are part of the language. And will cause an exception to throw should the expression return false.

assert(exp, "description");

Description is optional however.

Here's an example https://github.com/rikkimax/skeleton/blob/master/source/skeleton/syntax/download_mkdir.d#L175 Of course there will be better ones, just something I was doing last night however.

Reply via email to