From f8e2ebed0053d956ca1212193ed7ffcd6b971a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 31 May 2015 12:03:05 +0200 Subject: [PATCH] Math: test NaN comparison behavior of Unit class. Passes, obviously. What was I thinking. --- src/Magnum/Math/Test/UnitTest.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Magnum/Math/Test/UnitTest.cpp b/src/Magnum/Math/Test/UnitTest.cpp index 96829adb8..3886516e9 100644 --- a/src/Magnum/Math/Test/UnitTest.cpp +++ b/src/Magnum/Math/Test/UnitTest.cpp @@ -25,6 +25,7 @@ #include +#include "Magnum/Math/Constants.h" #include "Magnum/Math/Unit.h" namespace Magnum { namespace Math { namespace Test { @@ -36,6 +37,7 @@ struct UnitTest: Corrade::TestSuite::Tester { void constructDefault(); void constructConversion(); void compare(); + void compareNaN(); void negated(); void addSubtract(); @@ -47,6 +49,7 @@ UnitTest::UnitTest() { &UnitTest::constructDefault, &UnitTest::constructConversion, &UnitTest::compare, + &UnitTest::compareNaN, &UnitTest::negated, &UnitTest::addSubtract, @@ -56,6 +59,7 @@ UnitTest::UnitTest() { template struct Sec_; typedef Unit Sec; typedef Unit Seci; +typedef Constants Constants; inline Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, Sec value) { return debug << Float(value); @@ -116,6 +120,11 @@ void UnitTest::compare() { CORRADE_VERIFY(!o); } +void UnitTest::compareNaN() { + CORRADE_VERIFY(Sec{Constants::nan()} != Sec{Constants::nan()}); + CORRADE_VERIFY(!(Sec{Constants::nan()} == Sec{Constants::nan()})); +} + void UnitTest::negated() { constexpr Sec a(25.0f); constexpr Sec b(-a);