From 0fd0457366e952c5acf5db0940d197a33b4c3311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 5 Jan 2025 13:45:38 +0100 Subject: [PATCH] MeshTools: don't use STL for no reason in tests. Ancient code, ancient problems. Eugh. --- src/Magnum/MeshTools/Test/InterleaveTest.cpp | 85 +++++++++++--------- src/Magnum/MeshTools/Test/TransformTest.cpp | 30 +++---- 2 files changed, 64 insertions(+), 51 deletions(-) diff --git a/src/Magnum/MeshTools/Test/InterleaveTest.cpp b/src/Magnum/MeshTools/Test/InterleaveTest.cpp index 948fa9d7b..53417a216 100644 --- a/src/Magnum/MeshTools/Test/InterleaveTest.cpp +++ b/src/Magnum/MeshTools/Test/InterleaveTest.cpp @@ -25,7 +25,6 @@ */ #include -#include #include #include /** @todo remove once Debug is stream-free */ #include @@ -209,13 +208,17 @@ InterleaveTest::InterleaveTest() { } void InterleaveTest::attributeCount() { - CORRADE_COMPARE((Implementation::AttributeCount{}(std::vector{0, 1, 2}, - std::vector{3, 4, 5})), std::size_t(3)); + CORRADE_COMPARE(Implementation::AttributeCount{}( + Containers::arrayView({0, 1, 2}), + Containers::arrayView({3, 4, 5}) + ), std::size_t(3)); } void InterleaveTest::attributeCountGaps() { - CORRADE_COMPARE((Implementation::AttributeCount{}(std::vector{0, 1, 2}, 3, - std::vector{3, 4, 5}, 5)), std::size_t(3)); + CORRADE_COMPARE(Implementation::AttributeCount{}( + Containers::arrayView({0, 1, 2}), 3, + Containers::arrayView({3, 4, 5}), 5 + ), std::size_t(3)); /* No arrays from which to get size */ CORRADE_COMPARE(Implementation::AttributeCount{}(3, 5), ~std::size_t(0)); @@ -226,67 +229,77 @@ void InterleaveTest::attributeCountInvalid() { std::stringstream ss; Error redirectError{&ss}; - CORRADE_COMPARE((Implementation::AttributeCount{}(std::vector{0, 1, 2}, - std::vector{0, 1, 2, 3, 4, 5})), std::size_t(0)); + CORRADE_COMPARE(Implementation::AttributeCount{}( + Containers::arrayView({0, 1, 2}), + Containers::arrayView({0, 1, 2, 3, 4, 5}) + ), std::size_t(0)); CORRADE_COMPARE(ss.str(), "MeshTools::interleave(): attribute arrays don't have the same length, expected 3 but got 6\n"); } void InterleaveTest::stride() { - CORRADE_COMPARE(Implementation::Stride{}(std::vector()), std::size_t(1)); - CORRADE_COMPARE(Implementation::Stride{}(std::vector()), std::size_t(4)); - CORRADE_COMPARE((Implementation::Stride{}(std::vector(), std::vector())), std::size_t(5)); + CORRADE_COMPARE(Implementation::Stride{}(Containers::ArrayView{}), std::size_t(1)); + CORRADE_COMPARE(Implementation::Stride{}(Containers::ArrayView{}), std::size_t(4)); + CORRADE_COMPARE(Implementation::Stride{}( + Containers::ArrayView{}, + Containers::ArrayView{} + ), std::size_t(5)); } void InterleaveTest::strideGaps() { - CORRADE_COMPARE((Implementation::Stride{}(2, std::vector(), 1, std::vector(), 12)), std::size_t(20)); + CORRADE_COMPARE(Implementation::Stride{}( + 2, Containers::ArrayView{}, + 1, Containers::ArrayView{}, 12 + ), std::size_t(20)); } void InterleaveTest::interleave() { const Containers::Array data = MeshTools::interleave( - std::vector{0, 1, 2}, - std::vector{3, 4, 5}, - std::vector{6, 7, 8}); + Containers::arrayView({0, 1, 2}), + Containers::arrayView({3, 4, 5}), + Containers::arrayView({6, 7, 8}) + ); if(!Utility::Endianness::isBigEndian()) { - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00 - })); + }), TestSuite::Compare::Container); } else { - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x08 - })); + }), TestSuite::Compare::Container); } } void InterleaveTest::interleaveGaps() { const Containers::Array data = MeshTools::interleave( - std::vector{0, 1, 2}, 3, - std::vector{3, 4, 5}, - std::vector{6, 7, 8}, 2); + Containers::arrayView({0, 1, 2}), 3, + Containers::arrayView({3, 4, 5}), + Containers::arrayView({6, 7, 8}), 2 + ); if(!Utility::Endianness::isBigEndian()) { /* byte, _____________gap, int___________________, short_____, _______gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - })); + }), TestSuite::Compare::Container); } else { /* byte, _____________gap, ___________________int, _____short, _______gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00 - })); + }), TestSuite::Compare::Container); } } void InterleaveTest::interleaveEmpty() { - const Containers::Array data = MeshTools::interleave(std::vector{}, 2); + const Containers::Array data = MeshTools::interleave(Containers::ArrayView{}, 2); CORRADE_COMPARE(data.size(), 0); } @@ -298,24 +311,24 @@ void InterleaveTest::interleaveInto() { 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77}}; CORRADE_COMPARE(data.size(), 48); - CORRADE_COMPARE(MeshTools::interleaveInto(data, 2, std::vector{4, 5, 6, 7}, 1, std::vector{0, 1, 2, 3}, 3), 48); + CORRADE_COMPARE(MeshTools::interleaveInto(data, 2, Containers::arrayView({4, 5, 6, 7}), 1, Containers::arrayView({0, 1, 2, 3}), 3), 48); if(!Utility::Endianness::isBigEndian()) { /* _______gap, int___________________, _gap, short_____, _____________gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x11, 0x33, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x05, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x06, 0x00, 0x00, 0x00, 0x55, 0x02, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x07, 0x00, 0x00, 0x00, 0x55, 0x03, 0x00, 0x33, 0x55, 0x77 - })); + }), TestSuite::Compare::Container); } else { /* _______gap, ___________________int, _gap, _____short, _____________gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x11, 0x33, 0x00, 0x00, 0x00, 0x04, 0x55, 0x00, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x05, 0x55, 0x00, 0x01, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x06, 0x55, 0x00, 0x02, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x07, 0x55, 0x00, 0x03, 0x33, 0x55, 0x77 - })); + }), TestSuite::Compare::Container); } } @@ -329,26 +342,26 @@ void InterleaveTest::interleaveIntoLarger() { 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11}}; CORRADE_COMPARE(data.size(), 49); - CORRADE_COMPARE(MeshTools::interleaveInto(data, 2, std::vector{4, 5, 6, 7}, 1, std::vector{0, 1, 2, 3}, 3), 48); + CORRADE_COMPARE(MeshTools::interleaveInto(data, 2, Containers::arrayView({4, 5, 6, 7}), 1, Containers::arrayView({0, 1, 2, 3}), 3), 48); if(!Utility::Endianness::isBigEndian()) { /* _______gap, int___________________, _gap, short_____, _____________gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x11, 0x33, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x05, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x06, 0x00, 0x00, 0x00, 0x55, 0x02, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x07, 0x00, 0x00, 0x00, 0x55, 0x03, 0x00, 0x33, 0x55, 0x77, 0x11 - })); + }), TestSuite::Compare::Container); } else { /* _______gap, ___________________int, _gap, _____short, _____________gap */ - CORRADE_COMPARE(std::vector(data.begin(), data.end()), (std::vector{ + CORRADE_COMPARE_AS(data, Containers::arrayView({ 0x11, 0x33, 0x00, 0x00, 0x00, 0x04, 0x55, 0x00, 0x00, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x05, 0x55, 0x00, 0x01, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x06, 0x55, 0x00, 0x02, 0x33, 0x55, 0x77, 0x11, 0x33, 0x00, 0x00, 0x00, 0x07, 0x55, 0x00, 0x03, 0x33, 0x55, 0x77, 0x11 - })); + }), TestSuite::Compare::Container); } } diff --git a/src/Magnum/MeshTools/Test/TransformTest.cpp b/src/Magnum/MeshTools/Test/TransformTest.cpp index 537dae41e..3de7137c6 100644 --- a/src/Magnum/MeshTools/Test/TransformTest.cpp +++ b/src/Magnum/MeshTools/Test/TransformTest.cpp @@ -24,10 +24,10 @@ DEALINGS IN THE SOFTWARE. */ -#include #include #include #include +#include #include #include #include @@ -413,32 +413,32 @@ TransformTest::TransformTest() { addTests({&TransformTest::meshDataTextureCoordinates2DInPlaceWrongFormat}); } -constexpr static std::array points2D{{ +constexpr Containers::Array2 points2D{{ {-3.0f, 4.0f}, { 2.5f, -15.0f} }}; -constexpr static std::array points2DRotated{{ +constexpr Containers::Array2 points2DRotated{{ {-4.0f, -3.0f}, {15.0f, 2.5f} }}; -constexpr static std::array points2DRotatedTranslated{{ +constexpr Containers::Array2 points2DRotatedTranslated{{ {-4.0f, -4.0f}, {15.0f, 1.5f} }}; -constexpr static std::array points3D{{ +constexpr Containers::Array2 points3D{{ {-3.0f, 4.0f, 34.0f}, { 2.5f, -15.0f, 1.5f} }}; -constexpr static std::array points3DRotated{{ +constexpr Containers::Array2 points3DRotated{{ {-4.0f, -3.0f, 34.0f}, {15.0f, 2.5f, 1.5f} }}; -constexpr static std::array points3DRotatedTranslated{{ +constexpr Containers::Array2 points3DRotatedTranslated{{ {-4.0f, -4.0f, 34.0f}, {15.0f, 1.5f, 1.5f} }}; @@ -447,16 +447,16 @@ void TransformTest::transformVectors2D() { auto matrix = transformVectors(Matrix3::rotation(Deg(90.0f)), points2D); auto complex = transformVectors(Complex::rotation(Deg(90.0f)), points2D); - CORRADE_COMPARE(matrix, points2DRotated); - CORRADE_COMPARE(complex, points2DRotated); + CORRADE_COMPARE_AS(matrix, points2DRotated, TestSuite::Compare::Container); + CORRADE_COMPARE_AS(complex, points2DRotated, TestSuite::Compare::Container); } void TransformTest::transformVectors3D() { auto matrix = transformVectors(Matrix4::rotationZ(Deg(90.0f)), points3D); auto quaternion = transformVectors(Quaternion::rotation(Deg(90.0f), Vector3::zAxis()), points3D); - CORRADE_COMPARE(matrix, points3DRotated); - CORRADE_COMPARE(quaternion, points3DRotated); + CORRADE_COMPARE_AS(matrix, points3DRotated, TestSuite::Compare::Container); + CORRADE_COMPARE_AS(quaternion, points3DRotated, TestSuite::Compare::Container); } void TransformTest::transformPoints2D() { @@ -465,8 +465,8 @@ void TransformTest::transformPoints2D() { auto complex = transformPoints( DualComplex::translation(Vector2::yAxis(-1.0f))*DualComplex::rotation(Deg(90.0f)), points2D); - CORRADE_COMPARE(matrix, points2DRotatedTranslated); - CORRADE_COMPARE(complex, points2DRotatedTranslated); + CORRADE_COMPARE_AS(matrix, points2DRotatedTranslated, TestSuite::Compare::Container); + CORRADE_COMPARE_AS(complex, points2DRotatedTranslated, TestSuite::Compare::Container); } void TransformTest::transformPoints3D() { @@ -475,8 +475,8 @@ void TransformTest::transformPoints3D() { auto quaternion = transformPoints( DualQuaternion::translation(Vector3::yAxis(-1.0f))*DualQuaternion::rotation(Deg(90.0f), Vector3::zAxis()), points3D); - CORRADE_COMPARE(matrix, points3DRotatedTranslated); - CORRADE_COMPARE(quaternion, points3DRotatedTranslated); + CORRADE_COMPARE_AS(matrix, points3DRotatedTranslated, TestSuite::Compare::Container); + CORRADE_COMPARE_AS(quaternion, points3DRotatedTranslated, TestSuite::Compare::Container); } template void TransformTest::meshData2D() {