Browse Source

Use new TestSuite numeric comparators where appropriate.

pull/187/head^2
Vladimír Vondruš 10 years ago
parent
commit
a2c8435ede
  1. 2
      src/Magnum/Audio/Test/ContextALTest.cpp
  2. 9
      src/Magnum/DebugTools/Test/ForceRendererTest.cpp
  3. 3
      src/Magnum/Math/Test/Matrix4Test.cpp
  4. 21
      src/Magnum/Math/Test/QuaternionTest.cpp
  5. 8
      src/Magnum/Test/TimeQueryGLTest.cpp

2
src/Magnum/Audio/Test/ContextALTest.cpp

@ -48,7 +48,7 @@ ContextALTest::ContextALTest() {
void ContextALTest::extensionsString() {
std::vector<std::string> extensions = _context.extensionStrings();
CORRADE_VERIFY(extensions.size() > 0);
CORRADE_VERIFY(!extensions.empty());
}
void ContextALTest::isExtensionEnabled() {

9
src/Magnum/DebugTools/Test/ForceRendererTest.cpp

@ -24,6 +24,7 @@
*/
#include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include "../Implementation/ForceRendererTransformation.h"
@ -104,10 +105,14 @@ void ForceRendererTest::arbitrary3D() {
CORRADE_COMPARE(Math::dot(m.right(), m.backward()), 0.0f);
#else
/* Emscripten -O1 has slightly lower precision. -O2 works fine. */
CORRADE_VERIFY(Math::abs(Math::dot(m.right(), m.backward())) < Math::TypeTraits<Float>::epsilon());
CORRADE_COMPARE_AS(Math::abs(Math::dot(m.right(), m.backward())),
Math::TypeTraits<Float>::epsilon(),
TestSuite::Compare::Less);
#endif
/** @todo This shouldn't be too different */
CORRADE_VERIFY(Math::abs(Math::dot(m.up(), m.backward())) < Math::TypeTraits<Float>::epsilon());
CORRADE_COMPARE_AS(Math::abs(Math::dot(m.up(), m.backward())),
Math::TypeTraits<Float>::epsilon(),
TestSuite::Compare::Less);
}
}}}}

3
src/Magnum/Math/Test/Matrix4Test.cpp

@ -25,6 +25,7 @@
#include <sstream>
#include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include <Corrade/Utility/Configuration.h>
#include "Magnum/Math/Matrix4.h"
@ -626,7 +627,7 @@ void Matrix4Test::lookAt() {
CORRADE_COMPARE(dot(-a.backward(), (target - translation).normalized()), 1.0f);
/* Up vector should be in the same direction as X axis */
CORRADE_VERIFY(dot(Vector3::xAxis(), a.up()) > 0.0f);
CORRADE_COMPARE_AS(dot(Vector3::xAxis(), a.up()), 0.0f, Corrade::TestSuite::Compare::Greater);
/* Just to be sure */
CORRADE_COMPARE(a, Matrix4({ 0.0f, 0.253247f, -0.967402f, 0.0f},

21
src/Magnum/Math/Test/QuaternionTest.cpp

@ -25,6 +25,7 @@
#include <sstream>
#include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include "Magnum/Math/Matrix4.h"
#include "Magnum/Math/Quaternion.h"
@ -421,30 +422,36 @@ void QuaternionTest::matrix() {
CORRADE_COMPARE(o.str(), "Math::Quaternion::fromMatrix(): the matrix is not orthogonal\n");
/* Trace > 0 */
CORRADE_VERIFY(m.trace() > 0.0f);
CORRADE_COMPARE_AS(m.trace(), 0.0f, Corrade::TestSuite::Compare::Greater);
CORRADE_COMPARE(Quaternion::fromMatrix(m), q);
/* Trace < 0, max is diagonal[2] */
Matrix3x3 m2 = Matrix4::rotation(Deg(130.0f), axis).rotationScaling();
Quaternion q2 = Quaternion::rotation(Deg(130.0f), axis);
CORRADE_VERIFY(m2.trace() < 0.0f);
CORRADE_VERIFY(m2.diagonal()[2] > std::max(m2.diagonal()[0], m2.diagonal()[1]));
CORRADE_COMPARE_AS(m2.trace(), 0.0f, Corrade::TestSuite::Compare::Less);
CORRADE_COMPARE_AS(m2.diagonal()[2],
std::max(m2.diagonal()[0], m2.diagonal()[1]),
Corrade::TestSuite::Compare::Greater);
CORRADE_COMPARE(Quaternion::fromMatrix(m2), q2);
/* Trace < 0, max is diagonal[1] */
Vector3 axis2 = Vector3(-3.0f, 5.0f, 1.0f).normalized();
Matrix3x3 m3 = Matrix4::rotation(Deg(130.0f), axis2).rotationScaling();
Quaternion q3 = Quaternion::rotation(Deg(130.0f), axis2);
CORRADE_VERIFY(m3.trace() < 0.0f);
CORRADE_VERIFY(m3.diagonal()[1] > std::max(m3.diagonal()[0], m3.diagonal()[2]));
CORRADE_COMPARE_AS(m3.trace(), 0.0f, Corrade::TestSuite::Compare::Less);
CORRADE_COMPARE_AS(m3.diagonal()[1],
std::max(m3.diagonal()[0], m3.diagonal()[2]),
Corrade::TestSuite::Compare::Greater);
CORRADE_COMPARE(Quaternion::fromMatrix(m3), q3);
/* Trace < 0, max is diagonal[0] */
Vector3 axis3 = Vector3(5.0f, -3.0f, 1.0f).normalized();
Matrix3x3 m4 = Matrix4::rotation(Deg(130.0f), axis3).rotationScaling();
Quaternion q4 = Quaternion::rotation(Deg(130.0f), axis3);
CORRADE_VERIFY(m4.trace() < 0.0f);
CORRADE_VERIFY(m4.diagonal()[0] > std::max(m4.diagonal()[1], m4.diagonal()[2]));
CORRADE_COMPARE_AS(m4.trace(), 0.0f, Corrade::TestSuite::Compare::Less);
CORRADE_COMPARE_AS(m4.diagonal()[0],
std::max(m4.diagonal()[1], m4.diagonal()[2]),
Corrade::TestSuite::Compare::Greater);
CORRADE_COMPARE(Quaternion::fromMatrix(m4), q4);
}

8
src/Magnum/Test/TimeQueryGLTest.cpp

@ -23,6 +23,8 @@
DEALINGS IN THE SOFTWARE.
*/
#include <Corrade/TestSuite/Compare/Numeric.h>
#include "Magnum/TimeQuery.h"
#include "Magnum/Test/AbstractOpenGLTester.h"
@ -112,7 +114,7 @@ void TimeQueryGLTest::queryTime() {
const auto result2 = q2.result<UnsignedInt>();
MAGNUM_VERIFY_NO_ERROR();
CORRADE_VERIFY(result2 >= result1);
CORRADE_COMPARE_AS(result2, result1, TestSuite::Compare::GreaterOrEqual);
}
void TimeQueryGLTest::queryTimestamp() {
@ -139,8 +141,8 @@ void TimeQueryGLTest::queryTimestamp() {
const auto result2 = q2.result<UnsignedLong>();
MAGNUM_VERIFY_NO_ERROR();
CORRADE_VERIFY(result2 >= result1);
CORRADE_VERIFY(result2-result1 >= result);
CORRADE_COMPARE_AS(result2, result1, TestSuite::Compare::GreaterOrEqual);
CORRADE_COMPARE_AS(result2 - result1, result, TestSuite::Compare::GreaterOrEqual);
}
}}

Loading…
Cancel
Save