Browse Source

Math: test also possibility of Unit implicit conversions.

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
407071dc96
  1. 5
      src/Math/Test/AngleTest.cpp
  2. 7
      src/Math/Test/UnitTest.cpp

5
src/Math/Test/AngleTest.cpp

@ -128,10 +128,11 @@ void AngleTest::literals() {
} }
void AngleTest::conversion() { void AngleTest::conversion() {
constexpr Deg a(Rad(1.57079633f)); /* Implicit conversion should be allowed */
constexpr Deg a = Rad(1.57079633f);
CORRADE_COMPARE(Float(a), 90.0f); CORRADE_COMPARE(Float(a), 90.0f);
constexpr Rad b(Deg(90.0f)); constexpr Rad b = Deg(90.0f);
CORRADE_COMPARE(Float(b), 1.57079633f); CORRADE_COMPARE(Float(b), 1.57079633f);
} }

7
src/Math/Test/UnitTest.cpp

@ -64,6 +64,10 @@ inline Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, Sec val
void UnitTest::construct() { void UnitTest::construct() {
constexpr Sec a(25.0f); constexpr Sec a(25.0f);
CORRADE_COMPARE(Float(a), 25.0f); CORRADE_COMPARE(Float(a), 25.0f);
/* Implicit conversion is not allowed */
CORRADE_VERIFY(!(std::is_convertible<Float, Sec>::value));
CORRADE_VERIFY(!(std::is_convertible<Sec, Float>::value));
} }
void UnitTest::constructDefault() { void UnitTest::constructDefault() {
@ -75,6 +79,9 @@ void UnitTest::constructConversion() {
constexpr Seci a(25.0); constexpr Seci a(25.0);
constexpr Sec b(a); constexpr Sec b(a);
CORRADE_COMPARE(b, Sec(25.0f)); CORRADE_COMPARE(b, Sec(25.0f));
/* Implicit conversion is not allowed */
CORRADE_VERIFY(!(std::is_convertible<Sec, Seci>::value));
} }
void UnitTest::compare() { void UnitTest::compare() {

Loading…
Cancel
Save