Browse Source

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.
pull/620/head
Vladimír Vondruš 3 years ago
parent
commit
a99c5bd4e1
  1. 60
      src/Magnum/SceneTools/Test/CombineTest.cpp
  2. 57
      src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp
  3. 32
      src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp

60
src/Magnum/SceneTools/Test/CombineTest.cpp

@ -197,8 +197,12 @@ void CombineTest::alignment() {
const Vector2d translationFieldData[]{{1.5, 3.0}}; /* 4 byte padding before */ const Vector2d translationFieldData[]{{1.5, 3.0}}; /* 4 byte padding before */
Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 167, Containers::arrayView({ 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::Mesh,
Trade::SceneFieldData{Trade::SceneField::Translation, Containers::arrayView(translationMappingData), Containers::arrayView(translationFieldData)} 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); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
@ -240,22 +244,30 @@ void CombineTest::alignment() {
} }
void CombineTest::mappingShared() { void CombineTest::mappingShared() {
const UnsignedShort meshMappingData[]{15, 23, 47}; const UnsignedShort meshMappingData[3]{};
const UnsignedByte meshFieldData[]{0, 1, 2}; const UnsignedByte meshFieldData[3]{};
const Int meshMaterialFieldData[]{72, -1, 23}; const Int meshMaterialFieldData[3]{};
const UnsignedShort translationRotationMappingData[]{14, 22}; const UnsignedShort translationRotationMappingData[2]{};
const Vector2 translationFieldData[]{{-1.0f, 25.3f}, {2.2f, 2.1f}}; const Vector2 translationFieldData[2]{};
const Complex rotationFieldData[]{Complex::rotation(35.0_degf), Complex::rotation(22.5_degf)}; const Complex rotationFieldData[2]{};
Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedInt, 173, Containers::arrayView({ Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedInt, 173, Containers::arrayView({
/* Deliberately in an arbitrary order to avoid false assumptions like /* Deliberately in an arbitrary order to avoid false assumptions like
fields sharing the same object mapping always being after each fields sharing the same object mapping always being after each
other */ other */
Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, Trade::SceneFieldData{Trade::SceneField::Mesh,
Trade::SceneFieldData{Trade::SceneField::Translation, Containers::arrayView(translationRotationMappingData), Containers::arrayView(translationFieldData)}, Containers::arrayView(meshMappingData),
Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::arrayView(meshMaterialFieldData)}, Containers::arrayView(meshFieldData)},
Trade::SceneFieldData{Trade::SceneField::Rotation, Containers::arrayView(translationRotationMappingData), Containers::arrayView(rotationFieldData)} 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); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
@ -277,13 +289,21 @@ void CombineTest::mappingPlaceholderFieldPlaceholder() {
const UnsignedByte meshFieldData[]{0, 1, 2}; const UnsignedByte meshFieldData[]{0, 1, 2};
Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 173, Containers::arrayView({ Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 173, Containers::arrayView({
Trade::SceneFieldData{Trade::SceneField::Camera, Containers::ArrayView<UnsignedByte>{nullptr, 1}, Containers::ArrayView<UnsignedShort>{nullptr, 1}}, Trade::SceneFieldData{Trade::SceneField::Camera,
Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, Containers::ArrayView<UnsignedByte>{nullptr, 1},
Containers::ArrayView<UnsignedShort>{nullptr, 1}},
Trade::SceneFieldData{Trade::SceneField::Mesh,
Containers::arrayView(meshMappingData),
Containers::arrayView(meshFieldData)},
/* Looks like sharing object mapping with the Camera field, but /* Looks like sharing object mapping with the Camera field, but
actually both are placeholders */ actually both are placeholders */
Trade::SceneFieldData{Trade::SceneField::Light, Containers::ArrayView<UnsignedShort>{nullptr, 2}, Containers::ArrayView<UnsignedInt>{nullptr, 2}}, Trade::SceneFieldData{Trade::SceneField::Light,
Containers::ArrayView<UnsignedShort>{nullptr, 2},
Containers::ArrayView<UnsignedInt>{nullptr, 2}},
/* Array field */ /* Array field */
Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::ArrayView<UnsignedShort>{nullptr, 2}, Containers::StridedArrayView2D<Short>{{nullptr, 16}, {2, 4}}}, Trade::SceneFieldData{Trade::sceneFieldCustom(15),
Containers::ArrayView<UnsignedShort>{nullptr, 2},
Containers::StridedArrayView2D<Short>{{nullptr, 16}, {2, 4}}},
})); }));
CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
@ -330,8 +350,12 @@ void CombineTest::mappingSharedFieldPlaceholder() {
const UnsignedByte meshFieldData[]{0, 1, 2}; const UnsignedByte meshFieldData[]{0, 1, 2};
Trade::SceneData scene = Implementation::combine(Trade::SceneMappingType::UnsignedInt, 173, Containers::arrayView({ 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::Mesh,
Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::ArrayView<Int>{nullptr, 3}}, Containers::arrayView(meshMappingData),
Containers::arrayView(meshFieldData)},
Trade::SceneFieldData{Trade::SceneField::MeshMaterial,
Containers::arrayView(meshMappingData),
Containers::ArrayView<Int>{nullptr, 3}},
})); }));
CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(scene.dataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);

57
src/Magnum/SceneTools/Test/ConvertToSingleFunctionObjectsTest.cpp

@ -115,14 +115,35 @@ void ConvertToSingleFunctionObjectsTest::test() {
const Byte foo3FieldData[]{-1, -2, 7, 2}; const Byte foo3FieldData[]{-1, -2, 7, 2};
Trade::SceneData original = Implementation::combine(Trade::SceneMappingType::UnsignedShort, data.originalObjectCount, Containers::arrayView({ 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::Parent,
Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::StridedArrayView1D<const UnsignedInt>{meshMaterialFieldData, &meshMaterialFieldData[0].first(), Containers::arraySize(meshMaterialFieldData), sizeof(meshMaterialFieldData[0])}}, Containers::arrayView(parentMappingData),
Trade::SceneFieldData{Trade::SceneField::MeshMaterial, Containers::arrayView(meshMappingData), Containers::StridedArrayView1D<const Int>{meshMaterialFieldData, &meshMaterialFieldData[0].second(), Containers::arraySize(meshMaterialFieldData), sizeof(meshMaterialFieldData[0])}}, Containers::arrayView(parentFieldData),
Trade::SceneFieldData{Trade::SceneField::Camera, Containers::arrayView(cameraMappingData), Containers::arrayView(cameraFieldData)}, data.parentFieldFlagsInput},
Trade::SceneFieldData{Trade::SceneField::Light, Containers::arrayView(lightMappingData), Containers::arrayView(lightFieldData), Trade::SceneFieldFlag::ImplicitMapping}, Trade::SceneFieldData{Trade::SceneField::Mesh,
Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::arrayView(fooMappingData), Containers::arrayView(fooFieldData), Trade::SceneFieldFlag::ImplicitMapping}, Containers::arrayView(meshMappingData),
Trade::SceneFieldData{Trade::sceneFieldCustom(16), Containers::arrayView(foo2MappingData), Containers::arrayView(foo2FieldData), Trade::SceneFieldFlag::ImplicitMapping}, Containers::stridedArrayView(meshMaterialFieldData).slice(&Containers::Pair<UnsignedInt, Int>::first)},
Trade::SceneFieldData{Trade::sceneFieldCustom(17), Containers::arrayView(fooMappingData), Containers::arrayView(foo3FieldData), Trade::SceneFieldFlag::ImplicitMapping} Trade::SceneFieldData{Trade::SceneField::MeshMaterial,
Containers::arrayView(meshMappingData),
Containers::stridedArrayView(meshMaterialFieldData).slice(&Containers::Pair<UnsignedInt, Int>::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({ 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}; const Int fooFieldData[]{0, 1, 2, 3, 4, 5, 6, 7};
Trade::SceneData original = Implementation::combine(Trade::SceneMappingType::UnsignedShort, 50, Containers::arrayView({ 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::Parent,
Trade::SceneFieldData{Trade::SceneField::Mesh, Containers::arrayView(meshMappingData), Containers::arrayView(meshFieldData)}, Containers::arrayView(parentMappingData),
Trade::SceneFieldData{Trade::SceneField::Skin, Containers::arrayView(skinMappingData), Containers::arrayView(skinFieldData)}, 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 */ /* Array field */
Trade::SceneFieldData{Trade::sceneFieldCustom(15), Containers::arrayView(fooMappingData), Containers::StridedArrayView2D<const Int>{fooFieldData, {4, 2}}}, Trade::SceneFieldData{Trade::sceneFieldCustom(15),
Containers::arrayView(fooMappingData),
Containers::StridedArrayView2D<const Int>{fooFieldData, {4, 2}}},
/* Just to disambiguate between 2D and 3D */ /* 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, Trade::SceneData scene = Implementation::convertToSingleFunctionObjects(original,

32
src/Magnum/SceneTools/Test/OrderClusterParentsTest.cpp

@ -69,7 +69,7 @@ OrderClusterParentsTest::OrderClusterParentsTest() {
void OrderClusterParentsTest::test() { void OrderClusterParentsTest::test() {
struct Field { struct Field {
/* To verify we don't have unnecessarily hardcoded 32-bit types */ /* To verify we don't have unnecessarily hardcoded 32-bit types */
UnsignedShort object; UnsignedShort mapping;
Byte parent; Byte parent;
} data[]{ } data[]{
/* Backward parent reference */ /* Backward parent reference */
@ -94,8 +94,12 @@ void OrderClusterParentsTest::test() {
Trade::SceneData scene{Trade::SceneMappingType::UnsignedShort, 158, {}, data, { Trade::SceneData scene{Trade::SceneMappingType::UnsignedShort, 158, {}, data, {
/* To verify it doesn't just pick the first field ever */ /* 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::Mesh,
Trade::SceneFieldData{Trade::SceneField::Parent, view.slice(&Field::object), view.slice(&Field::parent)} 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<Containers::Pair<UnsignedInt, Int>>({ CORRADE_COMPARE_AS(orderClusterParents(scene), (Containers::arrayView<Containers::Pair<UnsignedInt, Int>>({
@ -165,7 +169,7 @@ void OrderClusterParentsTest::intoWrongDestinationSize() {
CORRADE_SKIP_IF_NO_ASSERT(); CORRADE_SKIP_IF_NO_ASSERT();
struct Field { struct Field {
UnsignedInt object; UnsignedInt mapping;
Int parent; Int parent;
} data[]{ } data[]{
{2, -1}, {2, -1},
@ -175,7 +179,9 @@ void OrderClusterParentsTest::intoWrongDestinationSize() {
Containers::StridedArrayView1D<Field> view = data; Containers::StridedArrayView1D<Field> view = data;
Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 8, {}, 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]; UnsignedInt mappingCorrect[3];
@ -210,7 +216,9 @@ void OrderClusterParentsTest::sparse() {
Containers::StridedArrayView1D<Field> view = data; Containers::StridedArrayView1D<Field> view = data;
Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, 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; std::ostringstream out;
@ -236,7 +244,9 @@ void OrderClusterParentsTest::cyclic() {
Containers::StridedArrayView1D<Field> view = data; Containers::StridedArrayView1D<Field> view = data;
Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, 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; std::ostringstream out;
@ -264,7 +274,9 @@ void OrderClusterParentsTest::cyclicDeep() {
Containers::StridedArrayView1D<Field> view = data; Containers::StridedArrayView1D<Field> view = data;
Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, 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; std::ostringstream out;
@ -294,7 +306,9 @@ void OrderClusterParentsTest::sparseAndCyclic() {
Containers::StridedArrayView1D<Field> view = data; Containers::StridedArrayView1D<Field> view = data;
Trade::SceneData scene{Trade::SceneMappingType::UnsignedInt, 16, {}, 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; std::ostringstream out;

Loading…
Cancel
Save