diff --git a/CppUnitLite/Test.h b/CppUnitLite/Test.h index 9f97757b6..82040dceb 100644 --- a/CppUnitLite/Test.h +++ b/CppUnitLite/Test.h @@ -130,7 +130,7 @@ boost::lexical_cast(actualTemp))); return; } } #define DOUBLES_EQUAL(expected,actual,threshold)\ { double actualTemp = actual; \ double expectedTemp = expected; \ - if (fabs ((expectedTemp)-(actualTemp)) > threshold) \ + if (isnan(actualTemp) || isnan(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \ { result_.addFailure (Failure (name_, __FILE__, __LINE__, \ boost::lexical_cast((double)expectedTemp), boost::lexical_cast((double)actualTemp))); return; } } @@ -150,7 +150,7 @@ boost::lexical_cast(actualTemp))); } } #define EXPECT_DOUBLES_EQUAL(expected,actual,threshold)\ { double actualTemp = actual; \ double expectedTemp = expected; \ - if (fabs ((expectedTemp)-(actualTemp)) > threshold) \ + if (isnan(actualTemp) || isnan(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \ { result_.addFailure (Failure (name_, __FILE__, __LINE__, \ boost::lexical_cast((double)expectedTemp), boost::lexical_cast((double)actualTemp))); } }