Browse Source

MeshTools: ensure a corner case in interleave() is tested as well.

pull/371/head
Vladimír Vondruš 6 years ago
parent
commit
e30d9de7af
  1. 19
      src/Magnum/MeshTools/Test/InterleaveTest.cpp

19
src/Magnum/MeshTools/Test/InterleaveTest.cpp

@ -44,8 +44,9 @@ struct InterleaveTest: Corrade::TestSuite::Tester {
void attributeCountGaps(); void attributeCountGaps();
void stride(); void stride();
void strideGaps(); void strideGaps();
void write(); void interleave();
void writeGaps(); void interleaveGaps();
void interleaveEmpty();
void interleaveInto(); void interleaveInto();
@ -84,8 +85,9 @@ InterleaveTest::InterleaveTest() {
&InterleaveTest::attributeCountGaps, &InterleaveTest::attributeCountGaps,
&InterleaveTest::stride, &InterleaveTest::stride,
&InterleaveTest::strideGaps, &InterleaveTest::strideGaps,
&InterleaveTest::write, &InterleaveTest::interleave,
&InterleaveTest::writeGaps, &InterleaveTest::interleaveGaps,
&InterleaveTest::interleaveEmpty,
&InterleaveTest::interleaveInto, &InterleaveTest::interleaveInto,
@ -148,7 +150,7 @@ void InterleaveTest::strideGaps() {
CORRADE_COMPARE((Implementation::Stride{}(2, std::vector<Byte>(), 1, std::vector<Int>(), 12)), std::size_t(20)); CORRADE_COMPARE((Implementation::Stride{}(2, std::vector<Byte>(), 1, std::vector<Int>(), 12)), std::size_t(20));
} }
void InterleaveTest::write() { void InterleaveTest::interleave() {
const Containers::Array<char> data = MeshTools::interleave( const Containers::Array<char> data = MeshTools::interleave(
std::vector<Byte>{0, 1, 2}, std::vector<Byte>{0, 1, 2},
std::vector<Int>{3, 4, 5}, std::vector<Int>{3, 4, 5},
@ -169,7 +171,7 @@ void InterleaveTest::write() {
} }
} }
void InterleaveTest::writeGaps() { void InterleaveTest::interleaveGaps() {
const Containers::Array<char> data = MeshTools::interleave( const Containers::Array<char> data = MeshTools::interleave(
std::vector<Byte>{0, 1, 2}, 3, std::vector<Byte>{0, 1, 2}, 3,
std::vector<Int>{3, 4, 5}, std::vector<Int>{3, 4, 5},
@ -192,6 +194,11 @@ void InterleaveTest::writeGaps() {
} }
} }
void InterleaveTest::interleaveEmpty() {
const Containers::Array<char> data = MeshTools::interleave(std::vector<Byte>{}, 2);
CORRADE_COMPARE(data.size(), 0);
}
void InterleaveTest::interleaveInto() { void InterleaveTest::interleaveInto() {
Containers::Array<char> data{Containers::InPlaceInit, { Containers::Array<char> data{Containers::InPlaceInit, {
0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77, 0x11, 0x33, 0x55, 0x77,

Loading…
Cancel
Save