From a99c5bd4e1397b739d71ada43a0bb1f8a0313468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 18 Apr 2023 10:37:46 +0200 Subject: [PATCH] SceneTools: minor cleanup in the tests. Something an automated formatter couldn't do, adapting code formatting rules based on how given API use evolved to be most readable. --- src/Magnum/SceneTools/Test/CombineTest.cpp | 60 +++++++++++++------ .../ConvertToSingleFunctionObjectsTest.cpp | 57 ++++++++++++++---- .../Test/OrderClusterParentsTest.cpp | 32 +++++++--- 3 files changed, 109 insertions(+), 40 deletions(-) diff --git a/src/Magnum/SceneTools/Test/CombineTest.cpp b/src/Magnum/SceneTools/Test/CombineTest.cpp index 253e7daf6..e00a5000b 100644 --- a/src/Magnum/SceneTools/Test/CombineTest.cpp +++ b/src/Magnum/SceneTools/Test/CombineTest.cpp @@ -197,8 +197,12 @@ void CombineTest::alignment() { const Vector2d translationFieldData[]{{1.5, 3.0}}; /* 4 byte padding before */ Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 167, Containers::arrayView({ - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Translation, Containers::arrayView(translationMappingData), Containers::arrayView(translationFieldData)} + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Translation, + Containers::arrayView(translationMappingData), + Containers::arrayView(translationFieldData)} })); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); @@ -240,22 +244,30 @@ void CombineTest::alignment() { } void CombineTest::mappingShared() { - const UnsignedShort meshMappingData[]{15, 23, 47}; - const UnsignedByte meshFieldData[]{0, 1, 2}; - const Int meshMaterialFieldData[]{72, -1, 23}; + const UnsignedShort meshMappingData[3]{}; + const UnsignedByte meshFieldData[3]{}; + const Int meshMaterialFieldData[3]{}; - const UnsignedShort translationRotationMappingData[]{14, 22}; - const Vector2 translationFieldData[]{{-1.0f, 25.3f}, {2.2f, 2.1f}}; - const Complex rotationFieldData[]{Complex::rotation(35.0_degf), Complex::rotation(22.5_degf)}; + const UnsignedShort translationRotationMappingData[2]{}; + const Vector2 translationFieldData[2]{}; + const Complex rotationFieldData[2]{}; Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedInt, 173, Containers::arrayView({ /* Deliberately in an arbitrary order to avoid false assumptions like fields sharing the same object mapping always being after each other */ - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Translation, Containers::arrayView(translationRotationMappingData), Containers::arrayView(translationFieldData)}, - Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::arrayView(meshMaterialFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Rotation, Containers::arrayView(translationRotationMappingData), Containers::arrayView(rotationFieldData)} + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Translation, + Containers::arrayView(translationRotationMappingData), + Containers::arrayView(translationFieldData)}, + Trade::SceneFieldData{Trade::SceneField::MeshMaterial, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshMaterialFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Rotation, + Containers::arrayView(translationRotationMappingData), + Containers::arrayView(rotationFieldData)} })); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); @@ -277,13 +289,21 @@ void CombineTest::mappingPlaceholderFieldPlaceholder() { const UnsignedByte meshFieldData[]{0, 1, 2}; Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 173, Containers::arrayView({ - Trade::SceneFieldData{Trade::SceneField::Camera, Containers::ArrayView{nullptr, 1}, Containers::ArrayView{nullptr, 1}}, - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Camera, + Containers::ArrayView{nullptr, 1}, + Containers::ArrayView{nullptr, 1}}, + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshFieldData)}, /* Looks like sharing object mapping with the Camera field, but actually both are placeholders */ - Trade::SceneFieldData{Trade::SceneField::Light, Containers::ArrayView{nullptr, 2}, Containers::ArrayView{nullptr, 2}}, + Trade::SceneFieldData{Trade::SceneField::Light, + Containers::ArrayView{nullptr, 2}, + Containers::ArrayView{nullptr, 2}}, /* Array field */ - Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::ArrayView{nullptr, 2}, Containers::StridedArrayView2D{{nullptr, 16}, {2, 4}}}, + Trade::SceneFieldData{Trade::sceneFieldCustom(15), + Containers::ArrayView{nullptr, 2}, + Containers::StridedArrayView2D{{nullptr, 16}, {2, 4}}}, })); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); @@ -330,8 +350,12 @@ void CombineTest::mappingSharedFieldPlaceholder() { const UnsignedByte meshFieldData[]{0, 1, 2}; Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedInt, 173, Containers::arrayView({ - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, - Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::ArrayView{nullptr, 3}}, + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshFieldData)}, + Trade::SceneFieldData{Trade::SceneField::MeshMaterial, + Containers::arrayView(meshMappingData), + Containers::ArrayView{nullptr, 3}}, })); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); diff --git a/src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp b/src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp index 92713a44c..c0028069b 100644 --- a/src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp +++ b/src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp @@ -115,14 +115,35 @@ void ConvertToSingleFunctionObjectsTest::test() { const Byte foo3FieldData[]{-1, -2, 7, 2}; Trade::SceneData original = Implementation::combine(Trade::SceneMappingType::UnsignedShort, data.originalObjectCount, Containers::arrayView({ - Trade::SceneFieldData{Trade::SceneField::Parent, Containers::arrayView(parentMappingData), Containers::arrayView(parentFieldData), data.parentFieldFlagsInput}, - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::StridedArrayView1D{meshMaterialFieldData, &meshMaterialFieldData[0].first(), Containers::arraySize(meshMaterialFieldData), sizeof(meshMaterialFieldData[0])}}, - Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::StridedArrayView1D{meshMaterialFieldData, &meshMaterialFieldData[0].second(), Containers::arraySize(meshMaterialFieldData), sizeof(meshMaterialFieldData[0])}}, - Trade::SceneFieldData{Trade::SceneField::Camera, Containers::arrayView(cameraMappingData), Containers::arrayView(cameraFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Light, Containers::arrayView(lightMappingData), Containers::arrayView(lightFieldData), Trade::SceneFieldFlag::ImplicitMapping}, - Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::arrayView(fooMappingData), Containers::arrayView(fooFieldData), Trade::SceneFieldFlag::ImplicitMapping}, - Trade::SceneFieldData{Trade::sceneFieldCustom(16), Containers::arrayView(foo2MappingData), Containers::arrayView(foo2FieldData), Trade::SceneFieldFlag::ImplicitMapping}, - Trade::SceneFieldData{Trade::sceneFieldCustom(17), Containers::arrayView(fooMappingData), Containers::arrayView(foo3FieldData), Trade::SceneFieldFlag::ImplicitMapping} + Trade::SceneFieldData{Trade::SceneField::Parent, + Containers::arrayView(parentMappingData), + Containers::arrayView(parentFieldData), + data.parentFieldFlagsInput}, + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::stridedArrayView(meshMaterialFieldData).slice(&Containers::Pair::first)}, + Trade::SceneFieldData{Trade::SceneField::MeshMaterial, + Containers::arrayView(meshMappingData), + Containers::stridedArrayView(meshMaterialFieldData).slice(&Containers::Pair::second)}, + Trade::SceneFieldData{Trade::SceneField::Camera, + Containers::arrayView(cameraMappingData), + Containers::arrayView(cameraFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Light, + Containers::arrayView(lightMappingData), + Containers::arrayView(lightFieldData), + Trade::SceneFieldFlag::ImplicitMapping}, + Trade::SceneFieldData{Trade::sceneFieldCustom(15), + Containers::arrayView(fooMappingData), + Containers::arrayView(fooFieldData), + Trade::SceneFieldFlag::ImplicitMapping}, + Trade::SceneFieldData{Trade::sceneFieldCustom(16), + Containers::arrayView(foo2MappingData), + Containers::arrayView(foo2FieldData), + Trade::SceneFieldFlag::ImplicitMapping}, + Trade::SceneFieldData{Trade::sceneFieldCustom(17), + Containers::arrayView(fooMappingData), + Containers::arrayView(foo3FieldData), + Trade::SceneFieldFlag::ImplicitMapping} })); Trade::SceneData scene = Implementation::convertToSingleFunctionObjects(original, Containers::arrayView({ @@ -307,13 +328,23 @@ void ConvertToSingleFunctionObjectsTest::fieldsToCopy() { const Int fooFieldData[]{0, 1, 2, 3, 4, 5, 6, 7}; Trade::SceneData original = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 50, Containers::arrayView({ - Trade::SceneFieldData{Trade::SceneField::Parent, Containers::arrayView(parentMappingData), Containers::arrayView(parentFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, - Trade::SceneFieldData{Trade::SceneField::Skin, Containers::arrayView(skinMappingData), Containers::arrayView(skinFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Parent, + Containers::arrayView(parentMappingData), + Containers::arrayView(parentFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Mesh, + Containers::arrayView(meshMappingData), + Containers::arrayView(meshFieldData)}, + Trade::SceneFieldData{Trade::SceneField::Skin, + Containers::arrayView(skinMappingData), + Containers::arrayView(skinFieldData)}, /* Array field */ - Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::arrayView(fooMappingData), Containers::StridedArrayView2D{fooFieldData, {4, 2}}}, + Trade::SceneFieldData{Trade::sceneFieldCustom(15), + Containers::arrayView(fooMappingData), + Containers::StridedArrayView2D{fooFieldData, {4, 2}}}, /* Just to disambiguate between 2D and 3D */ - Trade::SceneFieldData{Trade::SceneField::Transformation, Trade::SceneMappingType::UnsignedShort, nullptr, Trade::SceneFieldType::Matrix4x4, nullptr} + Trade::SceneFieldData{Trade::SceneField::Transformation, + Trade::SceneMappingType::UnsignedShort, nullptr, + Trade::SceneFieldType::Matrix4x4, nullptr} })); Trade::SceneData scene = Implementation::convertToSingleFunctionObjects(original, diff --git a/src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp b/src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp index b29a74035..7a04e8893 100644 --- a/src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp +++ b/src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp @@ -69,7 +69,7 @@ OrderClusterParentsTest::OrderClusterParentsTest() { void OrderClusterParentsTest::test() { struct Field { /* To verify we don't have unnecessarily hardcoded 32-bit types */ - UnsignedShort object; + UnsignedShort mapping; Byte parent; } data[]{ /* Backward parent reference */ @@ -94,8 +94,12 @@ void OrderClusterParentsTest::test() { Trade::SceneData scene{Trade::SceneMappingType::UnsignedShort, 158, {}, data, { /* To verify it doesn't just pick the first field ever */ - Trade::SceneFieldData{Trade::SceneField::Mesh, Trade::SceneMappingType::UnsignedShort, nullptr, Trade::SceneFieldType::UnsignedInt, nullptr}, - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Mesh, + Trade::SceneMappingType::UnsignedShort, nullptr, + Trade::SceneFieldType::UnsignedInt, nullptr}, + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::mapping), + view.slice(&Field::parent)} }}; CORRADE_COMPARE_AS(orderClusterParents(scene), (Containers::arrayView>({ @@ -165,7 +169,7 @@ void OrderClusterParentsTest::intoWrongDestinationSize() { CORRADE_SKIP_IF_NO_ASSERT(); struct Field { - UnsignedInt object; + UnsignedInt mapping; Int parent; } data[]{ {2, -1}, @@ -175,7 +179,9 @@ void OrderClusterParentsTest::intoWrongDestinationSize() { Containers::StridedArrayView1D view = data; Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 8, {}, data, { - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::mapping), + view.slice(&Field::parent)} }}; UnsignedInt mappingCorrect[3]; @@ -210,7 +216,9 @@ void OrderClusterParentsTest::sparse() { Containers::StridedArrayView1D view = data; Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, data, { - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::object), + view.slice(&Field::parent)} }}; std::ostringstream out; @@ -236,7 +244,9 @@ void OrderClusterParentsTest::cyclic() { Containers::StridedArrayView1D view = data; Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, data, { - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::object), + view.slice(&Field::parent)} }}; std::ostringstream out; @@ -264,7 +274,9 @@ void OrderClusterParentsTest::cyclicDeep() { Containers::StridedArrayView1D view = data; Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, data, { - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::object), + view.slice(&Field::parent)} }}; std::ostringstream out; @@ -294,7 +306,9 @@ void OrderClusterParentsTest::sparseAndCyclic() { Containers::StridedArrayView1D view = data; Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, data, { - Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} + Trade::SceneFieldData{Trade::SceneField::Parent, + view.slice(&Field::object), + view.slice(&Field::parent)} }}; std::ostringstream out;