|
|
|
@ -80,17 +80,19 @@ struct SceneDataTest: TestSuite::Tester { |
|
|
|
void constructFieldString(); |
|
|
|
void constructFieldString(); |
|
|
|
void constructFieldStringNegativeStride(); |
|
|
|
void constructFieldStringNegativeStride(); |
|
|
|
void constructFieldStringNegativeOffset(); |
|
|
|
void constructFieldStringNegativeOffset(); |
|
|
|
void constructField2D(); |
|
|
|
|
|
|
|
void constructField2DString(); |
|
|
|
|
|
|
|
void constructFieldTypeErased(); |
|
|
|
void constructFieldTypeErased(); |
|
|
|
void constructFieldTypeErasedString(); |
|
|
|
void constructFieldTypeErasedString(); |
|
|
|
|
|
|
|
void constructFieldTypeErased2D(); |
|
|
|
|
|
|
|
void constructFieldTypeErased2DString(); |
|
|
|
void constructFieldNonOwningArray(); |
|
|
|
void constructFieldNonOwningArray(); |
|
|
|
void constructFieldOffsetOnly(); |
|
|
|
void constructFieldOffsetOnly(); |
|
|
|
void constructFieldOffsetOnlyString(); |
|
|
|
void constructFieldOffsetOnlyString(); |
|
|
|
void constructFieldOffsetOnlyStringNegativeStride(); |
|
|
|
void constructFieldOffsetOnlyStringNegativeStride(); |
|
|
|
void constructFieldArray(); |
|
|
|
void constructFieldArray(); |
|
|
|
void constructFieldArray2D(); |
|
|
|
|
|
|
|
void constructFieldArrayTypeErased(); |
|
|
|
void constructFieldArrayTypeErased(); |
|
|
|
|
|
|
|
/* no constructFieldArrayTypeErasedString(), strings can't be arrays */ |
|
|
|
|
|
|
|
void constructFieldArrayTypeErased2D(); |
|
|
|
|
|
|
|
/* no constructFieldArrayTypeErased2DString(), strings can't be arrays */ |
|
|
|
void constructFieldArrayOffsetOnly(); |
|
|
|
void constructFieldArrayOffsetOnly(); |
|
|
|
|
|
|
|
|
|
|
|
void constructFieldWrongType(); |
|
|
|
void constructFieldWrongType(); |
|
|
|
@ -101,12 +103,12 @@ struct SceneDataTest: TestSuite::Tester { |
|
|
|
void constructFieldFlagNotAllowed(); |
|
|
|
void constructFieldFlagNotAllowed(); |
|
|
|
void constructFieldWrongOffsetOnlyDataAccess(); |
|
|
|
void constructFieldWrongOffsetOnlyDataAccess(); |
|
|
|
void constructFieldWrongStringDataAccess(); |
|
|
|
void constructFieldWrongStringDataAccess(); |
|
|
|
void constructField2DWrongSize(); |
|
|
|
void constructFieldTypeErased2DWrongSize(); |
|
|
|
void constructField2DNonContiguous(); |
|
|
|
void constructFieldTypeErased2DNonContiguous(); |
|
|
|
void constructFieldArrayNonContiguous(); |
|
|
|
void constructFieldArrayNonContiguous(); |
|
|
|
void constructFieldArrayNotAllowed(); |
|
|
|
void constructFieldArrayNotAllowed(); |
|
|
|
void constructFieldArray2DWrongSize(); |
|
|
|
void constructFieldArrayTypeErased2DWrongSize(); |
|
|
|
void constructFieldArray2DNonContiguous(); |
|
|
|
void constructFieldArrayTypeErased2DNonContiguous(); |
|
|
|
|
|
|
|
|
|
|
|
void construct(); |
|
|
|
void construct(); |
|
|
|
void constructZeroFields(); |
|
|
|
void constructZeroFields(); |
|
|
|
@ -387,17 +389,17 @@ SceneDataTest::SceneDataTest() { |
|
|
|
&SceneDataTest::constructFieldString, |
|
|
|
&SceneDataTest::constructFieldString, |
|
|
|
&SceneDataTest::constructFieldStringNegativeStride, |
|
|
|
&SceneDataTest::constructFieldStringNegativeStride, |
|
|
|
&SceneDataTest::constructFieldStringNegativeOffset, |
|
|
|
&SceneDataTest::constructFieldStringNegativeOffset, |
|
|
|
&SceneDataTest::constructField2D, |
|
|
|
|
|
|
|
&SceneDataTest::constructField2DString, |
|
|
|
|
|
|
|
&SceneDataTest::constructFieldTypeErased, |
|
|
|
&SceneDataTest::constructFieldTypeErased, |
|
|
|
&SceneDataTest::constructFieldTypeErasedString, |
|
|
|
&SceneDataTest::constructFieldTypeErasedString, |
|
|
|
|
|
|
|
&SceneDataTest::constructFieldTypeErased2D, |
|
|
|
|
|
|
|
&SceneDataTest::constructFieldTypeErased2DString, |
|
|
|
&SceneDataTest::constructFieldNonOwningArray, |
|
|
|
&SceneDataTest::constructFieldNonOwningArray, |
|
|
|
&SceneDataTest::constructFieldOffsetOnly, |
|
|
|
&SceneDataTest::constructFieldOffsetOnly, |
|
|
|
&SceneDataTest::constructFieldOffsetOnlyString, |
|
|
|
&SceneDataTest::constructFieldOffsetOnlyString, |
|
|
|
&SceneDataTest::constructFieldOffsetOnlyStringNegativeStride, |
|
|
|
&SceneDataTest::constructFieldOffsetOnlyStringNegativeStride, |
|
|
|
&SceneDataTest::constructFieldArray, |
|
|
|
&SceneDataTest::constructFieldArray, |
|
|
|
&SceneDataTest::constructFieldArray2D, |
|
|
|
|
|
|
|
&SceneDataTest::constructFieldArrayTypeErased, |
|
|
|
&SceneDataTest::constructFieldArrayTypeErased, |
|
|
|
|
|
|
|
&SceneDataTest::constructFieldArrayTypeErased2D, |
|
|
|
&SceneDataTest::constructFieldArrayOffsetOnly, |
|
|
|
&SceneDataTest::constructFieldArrayOffsetOnly, |
|
|
|
|
|
|
|
|
|
|
|
&SceneDataTest::constructFieldWrongType, |
|
|
|
&SceneDataTest::constructFieldWrongType, |
|
|
|
@ -408,12 +410,12 @@ SceneDataTest::SceneDataTest() { |
|
|
|
&SceneDataTest::constructFieldFlagNotAllowed, |
|
|
|
&SceneDataTest::constructFieldFlagNotAllowed, |
|
|
|
&SceneDataTest::constructFieldWrongOffsetOnlyDataAccess, |
|
|
|
&SceneDataTest::constructFieldWrongOffsetOnlyDataAccess, |
|
|
|
&SceneDataTest::constructFieldWrongStringDataAccess, |
|
|
|
&SceneDataTest::constructFieldWrongStringDataAccess, |
|
|
|
&SceneDataTest::constructField2DWrongSize, |
|
|
|
&SceneDataTest::constructFieldTypeErased2DWrongSize, |
|
|
|
&SceneDataTest::constructField2DNonContiguous, |
|
|
|
&SceneDataTest::constructFieldTypeErased2DNonContiguous, |
|
|
|
&SceneDataTest::constructFieldArrayNonContiguous, |
|
|
|
&SceneDataTest::constructFieldArrayNonContiguous, |
|
|
|
&SceneDataTest::constructFieldArrayNotAllowed, |
|
|
|
&SceneDataTest::constructFieldArrayNotAllowed, |
|
|
|
&SceneDataTest::constructFieldArray2DWrongSize, |
|
|
|
&SceneDataTest::constructFieldArrayTypeErased2DWrongSize, |
|
|
|
&SceneDataTest::constructFieldArray2DNonContiguous, |
|
|
|
&SceneDataTest::constructFieldArrayTypeErased2DNonContiguous, |
|
|
|
|
|
|
|
|
|
|
|
&SceneDataTest::construct, |
|
|
|
&SceneDataTest::construct, |
|
|
|
&SceneDataTest::constructZeroFields, |
|
|
|
&SceneDataTest::constructZeroFields, |
|
|
|
@ -994,7 +996,46 @@ void SceneDataTest::constructFieldStringNegativeOffset() { |
|
|
|
CORRADE_COMPARE(names.stringData(someArray), static_cast<const void*>(data.nameString)); |
|
|
|
CORRADE_COMPARE(names.stringData(someArray), static_cast<const void*>(data.nameString)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructField2D() { |
|
|
|
void SceneDataTest::constructFieldTypeErased() { |
|
|
|
|
|
|
|
const UnsignedLong scalingMappingData[3]{}; |
|
|
|
|
|
|
|
const Vector3 scalingFieldData[3]; |
|
|
|
|
|
|
|
SceneFieldData scalings{SceneField::Scaling, SceneMappingType::UnsignedLong, Containers::arrayCast<const char>(Containers::stridedArrayView(scalingMappingData)), SceneFieldType::Vector3, Containers::arrayCast<const char>(Containers::stridedArrayView(scalingFieldData)), SceneFieldFlag::OrderedMapping}; |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.flags(), SceneFieldFlag::OrderedMapping); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.name(), SceneField::Scaling); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingType(), SceneMappingType::UnsignedLong); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().stride(), sizeof(UnsignedLong)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().data(), scalingMappingData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldType(), SceneFieldType::Vector3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldArraySize(), 0); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().stride(), sizeof(Vector3)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().data(), scalingFieldData); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldTypeErasedString() { |
|
|
|
|
|
|
|
const UnsignedLong nameMappingData[3]{}; |
|
|
|
|
|
|
|
const char nameStringData[15]{}; |
|
|
|
|
|
|
|
const Containers::Pair<UnsignedShort, UnsignedShort> nameFieldData[3]{}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SceneFieldData names{sceneFieldCustom(25), SceneMappingType::UnsignedLong, Containers::arrayCast<const char>(Containers::stridedArrayView(nameMappingData)), nameStringData, SceneFieldType::StringRange16, Containers::arrayCast<const char>(Containers::stridedArrayView(nameFieldData)), SceneFieldFlag::NullTerminatedString|SceneFieldFlag::OrderedMapping}; |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.flags(), SceneFieldFlag::OrderedMapping|SceneFieldFlag::NullTerminatedString); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.name(), sceneFieldCustom(25)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingType(), SceneMappingType::UnsignedLong); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().stride(), sizeof(UnsignedLong)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().data(), nameMappingData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldType(), SceneFieldType::StringRange16); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldArraySize(), 0); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().stride(), sizeof(UnsignedShort)*2); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().data(), nameFieldData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.stringData(), static_cast<const void*>(nameStringData)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldTypeErased2D() { |
|
|
|
char rotationMappingData[6*sizeof(UnsignedShort)]; |
|
|
|
char rotationMappingData[6*sizeof(UnsignedShort)]; |
|
|
|
char rotationFieldData[6*sizeof(Complexd)]; |
|
|
|
char rotationFieldData[6*sizeof(Complexd)]; |
|
|
|
auto rotationMappingView = Containers::StridedArrayView2D<char>{rotationMappingData, {6, sizeof(UnsignedShort)}}.every(2); |
|
|
|
auto rotationMappingView = Containers::StridedArrayView2D<char>{rotationMappingData, {6, sizeof(UnsignedShort)}}.every(2); |
|
|
|
@ -1015,7 +1056,7 @@ void SceneDataTest::constructField2D() { |
|
|
|
CORRADE_COMPARE(rotations.fieldData().data(), rotationFieldView.data()); |
|
|
|
CORRADE_COMPARE(rotations.fieldData().data(), rotationFieldView.data()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructField2DString() { |
|
|
|
void SceneDataTest::constructFieldTypeErased2DString() { |
|
|
|
char nameMappingData[6*sizeof(UnsignedLong)]{}; |
|
|
|
char nameMappingData[6*sizeof(UnsignedLong)]{}; |
|
|
|
char nameFieldData[6*sizeof(Containers::Pair<UnsignedShort, UnsignedShort>)]{}; |
|
|
|
char nameFieldData[6*sizeof(Containers::Pair<UnsignedShort, UnsignedShort>)]{}; |
|
|
|
auto nameMappingView = Containers::StridedArrayView2D<char>{nameMappingData, {6, sizeof(UnsignedLong)}}.every(2); |
|
|
|
auto nameMappingView = Containers::StridedArrayView2D<char>{nameMappingData, {6, sizeof(UnsignedLong)}}.every(2); |
|
|
|
@ -1038,45 +1079,6 @@ void SceneDataTest::constructField2DString() { |
|
|
|
CORRADE_COMPARE(names.stringData(), static_cast<const void*>(nameStringData)); |
|
|
|
CORRADE_COMPARE(names.stringData(), static_cast<const void*>(nameStringData)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldTypeErased() { |
|
|
|
|
|
|
|
const UnsignedLong scalingMappingData[3]{}; |
|
|
|
|
|
|
|
const Vector3 scalingFieldData[3]; |
|
|
|
|
|
|
|
SceneFieldData scalings{SceneField::Scaling, SceneMappingType::UnsignedLong, Containers::arrayCast<const char>(Containers::stridedArrayView(scalingMappingData)), SceneFieldType::Vector3, Containers::arrayCast<const char>(Containers::stridedArrayView(scalingFieldData)), SceneFieldFlag::OrderedMapping}; |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.flags(), SceneFieldFlag::OrderedMapping); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.name(), SceneField::Scaling); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingType(), SceneMappingType::UnsignedLong); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().stride(), sizeof(UnsignedLong)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.mappingData().data(), scalingMappingData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldType(), SceneFieldType::Vector3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldArraySize(), 0); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().stride(), sizeof(Vector3)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(scalings.fieldData().data(), scalingFieldData); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldTypeErasedString() { |
|
|
|
|
|
|
|
const UnsignedLong nameMappingData[3]{}; |
|
|
|
|
|
|
|
const char nameStringData[15]{}; |
|
|
|
|
|
|
|
const Containers::Pair<UnsignedShort, UnsignedShort> nameFieldData[3]{}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SceneFieldData names{sceneFieldCustom(25), SceneMappingType::UnsignedLong, Containers::arrayCast<const char>(Containers::stridedArrayView(nameMappingData)), nameStringData, SceneFieldType::StringRange16, Containers::arrayCast<const char>(Containers::stridedArrayView(nameFieldData)), SceneFieldFlag::NullTerminatedString|SceneFieldFlag::OrderedMapping}; |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.flags(), SceneFieldFlag::OrderedMapping|SceneFieldFlag::NullTerminatedString); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.name(), sceneFieldCustom(25)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingType(), SceneMappingType::UnsignedLong); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().stride(), sizeof(UnsignedLong)); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.mappingData().data(), nameMappingData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldType(), SceneFieldType::StringRange16); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldArraySize(), 0); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().stride(), sizeof(UnsignedShort)*2); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.fieldData().data(), nameFieldData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(names.stringData(), static_cast<const void*>(nameStringData)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldNonOwningArray() { |
|
|
|
void SceneDataTest::constructFieldNonOwningArray() { |
|
|
|
const SceneFieldData data[3]; |
|
|
|
const SceneFieldData data[3]; |
|
|
|
Containers::Array<SceneFieldData> array = sceneFieldDataNonOwningArray(data); |
|
|
|
Containers::Array<SceneFieldData> array = sceneFieldDataNonOwningArray(data); |
|
|
|
@ -1214,37 +1216,37 @@ void SceneDataTest::constructFieldArray() { |
|
|
|
CORRADE_VERIFY(cdata.fieldData().data() == ArrayOffsetFieldData); |
|
|
|
CORRADE_VERIFY(cdata.fieldData().data() == ArrayOffsetFieldData); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldArray2D() { |
|
|
|
void SceneDataTest::constructFieldArrayTypeErased() { |
|
|
|
char offsetMappingData[3*sizeof(UnsignedByte)]; |
|
|
|
UnsignedByte offsetMappingData[3]; |
|
|
|
char offsetFieldData[3*4*sizeof(Int)]; |
|
|
|
Int offsetFieldData[3*4]; |
|
|
|
SceneFieldData data{sceneFieldCustom(34), Containers::StridedArrayView2D<char>{offsetMappingData, {3, sizeof(UnsignedByte)}}, SceneFieldType::Int, Containers::StridedArrayView2D<char>{offsetFieldData, {3, 4*sizeof(Int)}}, 4, SceneFieldFlag::ImplicitMapping}; |
|
|
|
Containers::StridedArrayView1D<Int> offset{offsetFieldData, 3, 4*sizeof(Int)}; |
|
|
|
CORRADE_COMPARE(data.flags(), SceneFieldFlag::ImplicitMapping); |
|
|
|
SceneFieldData data{sceneFieldCustom(34), SceneMappingType::UnsignedByte, Containers::arrayCast<const char>(Containers::stridedArrayView(offsetMappingData)), SceneFieldType::Int, Containers::arrayCast<const char>(offset), 4, SceneFieldFlag::OrderedMapping}; |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.flags(), SceneFieldFlag::OrderedMapping); |
|
|
|
CORRADE_COMPARE(data.name(), sceneFieldCustom(34)); |
|
|
|
CORRADE_COMPARE(data.name(), sceneFieldCustom(34)); |
|
|
|
CORRADE_COMPARE(data.size(), 3); |
|
|
|
CORRADE_COMPARE(data.size(), 3); |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.fieldType(), SceneFieldType::Int); |
|
|
|
CORRADE_COMPARE(data.mappingType(), SceneMappingType::UnsignedByte); |
|
|
|
CORRADE_COMPARE(data.mappingType(), SceneMappingType::UnsignedByte); |
|
|
|
CORRADE_COMPARE(data.mappingData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.mappingData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.mappingData().stride(), sizeof(UnsignedByte)); |
|
|
|
CORRADE_COMPARE(data.mappingData().stride(), sizeof(UnsignedByte)); |
|
|
|
CORRADE_VERIFY(data.mappingData().data() == offsetMappingData); |
|
|
|
CORRADE_VERIFY(data.mappingData().data() == offsetMappingData); |
|
|
|
CORRADE_COMPARE(data.fieldType(), SceneFieldType::Int); |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.fieldArraySize(), 4); |
|
|
|
CORRADE_COMPARE(data.fieldArraySize(), 4); |
|
|
|
CORRADE_COMPARE(data.fieldData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.fieldData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.fieldData().stride(), 4*sizeof(Int)); |
|
|
|
CORRADE_COMPARE(data.fieldData().stride(), 4*sizeof(Int)); |
|
|
|
CORRADE_VERIFY(data.fieldData().data() == offsetFieldData); |
|
|
|
CORRADE_VERIFY(data.fieldData().data() == offsetFieldData); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldArrayTypeErased() { |
|
|
|
void SceneDataTest::constructFieldArrayTypeErased2D() { |
|
|
|
UnsignedByte offsetMappingData[3]; |
|
|
|
char offsetMappingData[3*sizeof(UnsignedByte)]; |
|
|
|
Int offsetFieldData[3*4]; |
|
|
|
char offsetFieldData[3*4*sizeof(Int)]; |
|
|
|
Containers::StridedArrayView1D<Int> offset{offsetFieldData, 3, 4*sizeof(Int)}; |
|
|
|
SceneFieldData data{sceneFieldCustom(34), Containers::StridedArrayView2D<char>{offsetMappingData, {3, sizeof(UnsignedByte)}}, SceneFieldType::Int, Containers::StridedArrayView2D<char>{offsetFieldData, {3, 4*sizeof(Int)}}, 4, SceneFieldFlag::ImplicitMapping}; |
|
|
|
SceneFieldData data{sceneFieldCustom(34), SceneMappingType::UnsignedByte, Containers::arrayCast<const char>(Containers::stridedArrayView(offsetMappingData)), SceneFieldType::Int, Containers::arrayCast<const char>(offset), 4, SceneFieldFlag::OrderedMapping}; |
|
|
|
CORRADE_COMPARE(data.flags(), SceneFieldFlag::ImplicitMapping); |
|
|
|
CORRADE_COMPARE(data.flags(), SceneFieldFlag::OrderedMapping); |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.name(), sceneFieldCustom(34)); |
|
|
|
CORRADE_COMPARE(data.name(), sceneFieldCustom(34)); |
|
|
|
CORRADE_COMPARE(data.size(), 3); |
|
|
|
CORRADE_COMPARE(data.size(), 3); |
|
|
|
CORRADE_COMPARE(data.fieldType(), SceneFieldType::Int); |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.mappingType(), SceneMappingType::UnsignedByte); |
|
|
|
CORRADE_COMPARE(data.mappingType(), SceneMappingType::UnsignedByte); |
|
|
|
CORRADE_COMPARE(data.mappingData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.mappingData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.mappingData().stride(), sizeof(UnsignedByte)); |
|
|
|
CORRADE_COMPARE(data.mappingData().stride(), sizeof(UnsignedByte)); |
|
|
|
CORRADE_VERIFY(data.mappingData().data() == offsetMappingData); |
|
|
|
CORRADE_VERIFY(data.mappingData().data() == offsetMappingData); |
|
|
|
|
|
|
|
CORRADE_COMPARE(data.fieldType(), SceneFieldType::Int); |
|
|
|
CORRADE_COMPARE(data.fieldArraySize(), 4); |
|
|
|
CORRADE_COMPARE(data.fieldArraySize(), 4); |
|
|
|
CORRADE_COMPARE(data.fieldData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.fieldData().size(), 3); |
|
|
|
CORRADE_COMPARE(data.fieldData().stride(), 4*sizeof(Int)); |
|
|
|
CORRADE_COMPARE(data.fieldData().stride(), 4*sizeof(Int)); |
|
|
|
@ -1506,7 +1508,7 @@ void SceneDataTest::constructFieldWrongStringDataAccess() { |
|
|
|
"Trade::SceneFieldData::stringData(): the field is Trade::SceneFieldType::Quaternion, not a string\n"); |
|
|
|
"Trade::SceneFieldData::stringData(): the field is Trade::SceneFieldType::Quaternion, not a string\n"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructField2DWrongSize() { |
|
|
|
void SceneDataTest::constructFieldTypeErased2DWrongSize() { |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
|
|
|
|
|
|
|
|
char mappingData[5*sizeof(UnsignedInt)]; |
|
|
|
char mappingData[5*sizeof(UnsignedInt)]; |
|
|
|
@ -1541,7 +1543,7 @@ void SceneDataTest::constructField2DWrongSize() { |
|
|
|
"Trade::SceneFieldData: second field view dimension size 2 doesn't match Trade::SceneFieldType::StringRange16\n"); |
|
|
|
"Trade::SceneFieldData: second field view dimension size 2 doesn't match Trade::SceneFieldType::StringRange16\n"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructField2DNonContiguous() { |
|
|
|
void SceneDataTest::constructFieldTypeErased2DNonContiguous() { |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
|
|
|
|
|
|
|
|
char mappingData[8*sizeof(UnsignedInt)]; |
|
|
|
char mappingData[8*sizeof(UnsignedInt)]; |
|
|
|
@ -1642,7 +1644,7 @@ void SceneDataTest::constructFieldArrayNotAllowed() { |
|
|
|
"Trade::SceneFieldData: Trade::SceneField::Rotation can't be an array field\n"); |
|
|
|
"Trade::SceneFieldData: Trade::SceneField::Rotation can't be an array field\n"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldArray2DWrongSize() { |
|
|
|
void SceneDataTest::constructFieldArrayTypeErased2DWrongSize() { |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
|
|
|
|
|
|
|
|
char rotationMappingData[4*sizeof(UnsignedInt)]; |
|
|
|
char rotationMappingData[4*sizeof(UnsignedInt)]; |
|
|
|
@ -1658,7 +1660,7 @@ void SceneDataTest::constructFieldArray2DWrongSize() { |
|
|
|
"Trade::SceneFieldData: second field view dimension size 8 doesn't match Trade::SceneFieldType::Int and field array size 3\n"); |
|
|
|
"Trade::SceneFieldData: second field view dimension size 8 doesn't match Trade::SceneFieldType::Int and field array size 3\n"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SceneDataTest::constructFieldArray2DNonContiguous() { |
|
|
|
void SceneDataTest::constructFieldArrayTypeErased2DNonContiguous() { |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
CORRADE_SKIP_IF_NO_ASSERT(); |
|
|
|
|
|
|
|
|
|
|
|
char offsetMappingData[18*sizeof(UnsignedInt)]; |
|
|
|
char offsetMappingData[18*sizeof(UnsignedInt)]; |
|
|
|
|