Browse Source

Math: minor cleanup of the Bezier test.

pull/191/head
Vladimír Vondruš 8 years ago
parent
commit
ae2281dfd7
  1. 8
      src/Magnum/Math/Test/BezierTest.cpp

8
src/Magnum/Math/Test/BezierTest.cpp

@ -61,7 +61,7 @@ typedef Math::QuadraticBezier2D<Float> QuadraticBezier2D;
typedef Math::QuadraticBezier2D<Double> QuadraticBezier2Dd;
typedef Math::CubicBezier2D<Float> CubicBezier2D;
struct BezierTest : Corrade::TestSuite::Tester {
struct BezierTest: Corrade::TestSuite::Tester {
explicit BezierTest();
void construct();
@ -217,24 +217,30 @@ void BezierTest::compare() {
void BezierTest::valueLinear() {
LinearBezier2D bezier{Vector2{0.0f, 0.0f}, Vector2{20.0f, 4.0f}};
CORRADE_COMPARE(bezier.value(0.0f), (Vector2{0.0f, 0.0f}));
CORRADE_COMPARE(bezier.value(0.2f), (Vector2{4.0f, 0.8f}));
CORRADE_COMPARE(bezier.value(0.5f), (Vector2{10.0f, 2.0f}));
CORRADE_COMPARE(bezier.value(1.0f), (Vector2{20.0f, 4.0f}));
CORRADE_COMPARE(bezier.value(0.2f), Math::lerp(bezier[0], bezier[1], 0.2f));
}
void BezierTest::valueQuadratic() {
QuadraticBezier2D bezier{Vector2{0.0f, 0.0f}, Vector2{10.0f, 15.0f}, Vector2{20.0f, 4.0f}};
CORRADE_COMPARE(bezier.value(0.0f), (Vector2{0.0f, 0.0f}));
CORRADE_COMPARE(bezier.value(0.2f), (Vector2{4.0f, 4.96f}));
CORRADE_COMPARE(bezier.value(0.5f), (Vector2{10.0f, 8.5f}));
CORRADE_COMPARE(bezier.value(1.0f), (Vector2{20.0f, 4.0f}));
CORRADE_VERIFY(bezier.value(0.2f) != Math::lerp(bezier[0], bezier[2], 0.2f));
}
void BezierTest::valueCubic() {
CubicBezier2D bezier{Vector2{0.0f, 0.0f}, Vector2{10.0f, 15.0f}, Vector2{20.0f, 4.0f}, Vector2{5.0f, -20.0f}};
CORRADE_COMPARE(bezier.value(0.0f), (Vector2{0.0f, 0.0f}));
CORRADE_COMPARE(bezier.value(0.2f), (Vector2{5.8f, 5.984f}));
CORRADE_COMPARE(bezier.value(0.5f), (Vector2{11.875f, 4.625f}));
CORRADE_COMPARE(bezier.value(1.0f), (Vector2{5.0f, -20.0f}));
CORRADE_VERIFY(bezier.value(0.2f) != Math::lerp(bezier[0], bezier[3], 0.2f));
}

Loading…
Cancel
Save