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() {
constexpr Deg a(Rad(1.57079633f));
/* Implicit conversion should be allowed */
constexpr Deg a = Rad(1.57079633f);
CORRADE_COMPARE(Float(a), 90.0f);
constexpr Rad b(Deg(90.0f));
constexpr Rad b = Deg(90.0f);
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() {
constexpr Sec 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() {
@ -75,6 +79,9 @@ void UnitTest::constructConversion() {
constexpr Seci a(25.0);
constexpr Sec b(a);
CORRADE_COMPARE(b, Sec(25.0f));
/* Implicit conversion is not allowed */
CORRADE_VERIFY(!(std::is_convertible<Sec, Seci>::value));
}
void UnitTest::compare() {

Loading…
Cancel
Save