Nathan Beyer wrote:
-----Original Message-----
From: Paulex Yang [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 12, 2006 10:11 PM
To: [email protected]
Subject: Re: [build] anybody seeing MathTest failure?

Nathan Beyer wrote:
For asserting NaN we should do something like this:

assertTrue(Double.isNaN((code to return NaN));

I agree, it's much clear and concise. But I think the assertEquals()
should  be more defensive, for example, we may need to write test like
this:

assertEquals(some code may return NaN, some_other_code may return NaN,
delta);

I'm not sure that I would agree with that; NaN is a special value that's
defined by its inequality with itself (d != d).
In any case, the JUnit methods have worked like this for years, so their
behavior couldn't change now.
Of course not:).
-Nathan


-----Original Message-----
From: Paulex Yang [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 12, 2006 4:50 AM
To: [email protected]
Subject: Re: [build] anybody seeing MathTest failure?

Mikhail Loenko wrote:

it works! thanks, Paulex

Welcome, thanks a lot for Spark's tips:).

However, I consider it as a JUnit's bug, because it's
assertEquals(String, double, double, double) method has special
handling
code for INFINITE but not for NaN[1], but seems it is intended behavior
as the comment shows, hmm...

[1] snippet from junit.framework.Assert
    static public void assertEquals(String message, double expected,
double actual, double delta) {
        // handle infinity specially since subtracting to infinite
values gives NaN and the
        // the following test fails
        if (Double.isInfinite(expected)) {
            if (!(expected == actual))
                failNotEquals(message, new Double(expected), new
Double(actual));
        } else if (!(Math.abs(expected-actual) <= delta)) // Because
comparison with NaN always returns false    (<== Paulex: before this
line, seems should check the NaN at first)
            failNotEquals(message, new Double(expected), new
Double(actual));
    }

2006/9/12, Paulex Yang <[EMAIL PROTECTED]>:

Seems caused by r442438, I have recovered part of the update to make

the

test pass at revision r442527, please verify.


--
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to