diff --git a/src/Magnum/Math/Test/BezierTest.cpp b/src/Magnum/Math/Test/BezierTest.cpp index 7e68db653..3080afea2 100644 --- a/src/Magnum/Math/Test/BezierTest.cpp +++ b/src/Magnum/Math/Test/BezierTest.cpp @@ -61,7 +61,7 @@ typedef Math::QuadraticBezier2D QuadraticBezier2D; typedef Math::QuadraticBezier2D QuadraticBezier2Dd; typedef Math::CubicBezier2D 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)); }