Dlang tour - Unittesting example
Joe
jma at freedomcircle.com
Tue Oct 2 17:04:19 UTC 2018
On Tuesday, 2 October 2018 at 13:24:09 UTC, Basile B. wrote:
> The problem is the NaN madness.
> Since several values are NaN there's this strange stuff:
>
> void main()
> {
> import std.stdio;
> import std.math : isNaN;
> double d;
>
> writeln(d.init); // nan
> writeln(d); // nan
> writeln(d.nan); // nan
>
> assert(d.isNaN);
> assert(d == d.nan); // fails
> assert(d == d.init); // fails
> }
>
> the last assert is just crazy.
OK, so changing the example from
// .init a special built-in property that
// returns the initial value of type.
assert(vec.x == double.init);
to
import std.math : isNaN;
assert(vec.x.isNaN);
doesn't cause the crash. Although I'm a bit puzzled still, I
thought (coming from Python) that when you ran the unittest
version it would report which tests passed and which failed, not
run through main().
More information about the Digitalmars-d-learn
mailing list