Dlang tour - Unittesting example
Basile B.
b2.temp at gmx.com
Tue Oct 2 13:24:09 UTC 2018
On Tuesday, 2 October 2018 at 12:30:36 UTC, Joe wrote:
> On Tuesday, 2 October 2018 at 12:25:19 UTC, Joe wrote:
>> On Tuesday, 2 October 2018 at 09:59:28 UTC, bauss wrote:
>>> On Tuesday, 2 October 2018 at 04:13:01 UTC, Joe wrote:
>>>> There appears to be a problem with the example at
>>>>
>>>> https://tour.dlang.org/tour/en/gems/unittesting
>>>>
>>>> If compiled with -unittest, the resulting program crashes.
>>>> It happens with ldc2 on Linux but it can also be seen if you
>>>> click on "Export" and run it with dmd -unittest.
>>>
>>> I think it's more likely a problem with your OS.
>>>
>>> I am unable to reproduce that with either of dmd or ldc.
>>
>> Well then it's also a problem with run.dlang.io, since as I
>> said it also happens when you run it there.
>
> I forgot to mention: at the end, it reports "1/1 unittests
> FAILED". I see three tests--two in the struct and the separate
> one--but the assertion failure is in line 49 (the standalone)
> so apparently the other two are not being run (or reported).
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.
More information about the Digitalmars-d-learn
mailing list