Browse Source

Shaders: delete duplicate code also in shader tests.

Half done in 2d1d9f4b29, but these got
forgotten.
pull/430/head
Vladimír Vondruš 6 years ago
parent
commit
1a53976447
  1. 42
      src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp
  2. 42
      src/Magnum/Shaders/Test/FlatTest.cpp
  3. 42
      src/Magnum/Shaders/Test/VectorTest.cpp
  4. 43
      src/Magnum/Shaders/Test/VertexColorTest.cpp

42
src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp

@ -34,53 +34,43 @@ namespace Magnum { namespace Shaders { namespace Test { namespace {
struct DistanceFieldVectorTest: TestSuite::Tester { struct DistanceFieldVectorTest: TestSuite::Tester {
explicit DistanceFieldVectorTest(); explicit DistanceFieldVectorTest();
void constructNoCreate2D(); template<UnsignedInt dimensions> void constructNoCreate();
void constructNoCreate3D(); template<UnsignedInt dimensions> void constructCopy();
void constructCopy2D();
void constructCopy3D();
void debugFlag(); void debugFlag();
void debugFlags(); void debugFlags();
}; };
DistanceFieldVectorTest::DistanceFieldVectorTest() { DistanceFieldVectorTest::DistanceFieldVectorTest() {
addTests({&DistanceFieldVectorTest::constructNoCreate2D, addTests({&DistanceFieldVectorTest::constructNoCreate<2>,
&DistanceFieldVectorTest::constructNoCreate3D, &DistanceFieldVectorTest::constructNoCreate<3>,
&DistanceFieldVectorTest::constructCopy2D, &DistanceFieldVectorTest::constructCopy<2>,
&DistanceFieldVectorTest::constructCopy3D, &DistanceFieldVectorTest::constructCopy<3>,
&DistanceFieldVectorTest::debugFlag, &DistanceFieldVectorTest::debugFlag,
&DistanceFieldVectorTest::debugFlags}); &DistanceFieldVectorTest::debugFlags});
} }
void DistanceFieldVectorTest::constructNoCreate2D() { template<UnsignedInt dimensions> void DistanceFieldVectorTest::constructNoCreate() {
{ setTestCaseTemplateName(std::to_string(dimensions));
DistanceFieldVector2D shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0);
}
CORRADE_VERIFY(true);
}
void DistanceFieldVectorTest::constructNoCreate3D() {
{ {
DistanceFieldVector3D shader{NoCreate}; DistanceFieldVector<dimensions> shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0); CORRADE_COMPARE(shader.id(), 0);
} }
CORRADE_VERIFY(true); CORRADE_VERIFY(true);
} }
void DistanceFieldVectorTest::constructCopy2D() { template<UnsignedInt dimensions> void DistanceFieldVectorTest::constructCopy() {
CORRADE_VERIFY(!(std::is_constructible<DistanceFieldVector2D, const DistanceFieldVector2D&>{})); setTestCaseTemplateName(std::to_string(dimensions));
CORRADE_VERIFY(!(std::is_assignable<DistanceFieldVector2D, const DistanceFieldVector2D&>{}));
} CORRADE_VERIFY((std::is_constructible<DistanceFieldVector<dimensions>, DistanceFieldVector<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<DistanceFieldVector<dimensions>, const DistanceFieldVector<dimensions>&>{}));
void DistanceFieldVectorTest::constructCopy3D() { CORRADE_VERIFY((std::is_assignable<DistanceFieldVector<dimensions>, DistanceFieldVector<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<DistanceFieldVector3D, const DistanceFieldVector3D&>{})); CORRADE_VERIFY(!(std::is_assignable<DistanceFieldVector<dimensions>, const DistanceFieldVector<dimensions>&>{}));
CORRADE_VERIFY(!(std::is_assignable<DistanceFieldVector3D, const DistanceFieldVector3D&>{}));
} }
void DistanceFieldVectorTest::debugFlag() { void DistanceFieldVectorTest::debugFlag() {

42
src/Magnum/Shaders/Test/FlatTest.cpp

@ -34,53 +34,43 @@ namespace Magnum { namespace Shaders { namespace Test { namespace {
struct FlatTest: TestSuite::Tester { struct FlatTest: TestSuite::Tester {
explicit FlatTest(); explicit FlatTest();
void constructNoCreate2D(); template<UnsignedInt dimensions> void constructNoCreate();
void constructNoCreate3D(); template<UnsignedInt dimensions> void constructCopy();
void constructCopy2D();
void constructCopy3D();
void debugFlag(); void debugFlag();
void debugFlags(); void debugFlags();
}; };
FlatTest::FlatTest() { FlatTest::FlatTest() {
addTests({&FlatTest::constructNoCreate2D, addTests({&FlatTest::constructNoCreate<2>,
&FlatTest::constructNoCreate3D, &FlatTest::constructNoCreate<3>,
&FlatTest::constructCopy2D, &FlatTest::constructCopy<2>,
&FlatTest::constructCopy3D, &FlatTest::constructCopy<3>,
&FlatTest::debugFlag, &FlatTest::debugFlag,
&FlatTest::debugFlags}); &FlatTest::debugFlags});
} }
void FlatTest::constructNoCreate2D() { template<UnsignedInt dimensions> void FlatTest::constructNoCreate() {
{ setTestCaseTemplateName(std::to_string(dimensions));
Flat2D shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0);
}
CORRADE_VERIFY(true);
}
void FlatTest::constructNoCreate3D() {
{ {
Flat3D shader{NoCreate}; Flat<dimensions> shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0); CORRADE_COMPARE(shader.id(), 0);
} }
CORRADE_VERIFY(true); CORRADE_VERIFY(true);
} }
void FlatTest::constructCopy2D() { template<UnsignedInt dimensions> void FlatTest::constructCopy() {
CORRADE_VERIFY(!(std::is_constructible<Flat2D, const Flat2D&>{})); setTestCaseTemplateName(std::to_string(dimensions));
CORRADE_VERIFY(!(std::is_assignable<Flat2D, const Flat2D&>{}));
} CORRADE_VERIFY((std::is_constructible<Flat<dimensions>, Flat<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<Flat<dimensions>, const Flat<dimensions>&>{}));
void FlatTest::constructCopy3D() { CORRADE_VERIFY((std::is_assignable<Flat<dimensions>, Flat<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<Flat3D, const Flat3D&>{})); CORRADE_VERIFY(!(std::is_assignable<Flat<dimensions>, const Flat<dimensions>&>{}));
CORRADE_VERIFY(!(std::is_assignable<Flat3D, const Flat3D&>{}));
} }
void FlatTest::debugFlag() { void FlatTest::debugFlag() {

42
src/Magnum/Shaders/Test/VectorTest.cpp

@ -34,53 +34,43 @@ namespace Magnum { namespace Shaders { namespace Test { namespace {
struct VectorTest: TestSuite::Tester { struct VectorTest: TestSuite::Tester {
explicit VectorTest(); explicit VectorTest();
void constructNoCreate2D(); template<UnsignedInt dimensions> void constructNoCreate();
void constructNoCreate3D(); template<UnsignedInt dimensions> void constructCopy();
void constructCopy2D();
void constructCopy3D();
void debugFlag(); void debugFlag();
void debugFlags(); void debugFlags();
}; };
VectorTest::VectorTest() { VectorTest::VectorTest() {
addTests({&VectorTest::constructNoCreate2D, addTests({&VectorTest::constructNoCreate<2>,
&VectorTest::constructNoCreate3D, &VectorTest::constructNoCreate<3>,
&VectorTest::constructCopy2D, &VectorTest::constructCopy<2>,
&VectorTest::constructCopy3D, &VectorTest::constructCopy<3>,
&VectorTest::debugFlag, &VectorTest::debugFlag,
&VectorTest::debugFlags}); &VectorTest::debugFlags});
} }
void VectorTest::constructNoCreate2D() { template<UnsignedInt dimensions> void VectorTest::constructNoCreate() {
{ setTestCaseTemplateName(std::to_string(dimensions));
Vector2D shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0);
}
CORRADE_VERIFY(true);
}
void VectorTest::constructNoCreate3D() {
{ {
Vector3D shader{NoCreate}; Vector<dimensions> shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0); CORRADE_COMPARE(shader.id(), 0);
} }
CORRADE_VERIFY(true); CORRADE_VERIFY(true);
} }
void VectorTest::constructCopy2D() { template<UnsignedInt dimensions> void VectorTest::constructCopy() {
CORRADE_VERIFY(!(std::is_constructible<Vector2D, const Vector2D&>{})); setTestCaseTemplateName(std::to_string(dimensions));
CORRADE_VERIFY(!(std::is_assignable<Vector2D, const Vector2D&>{}));
} CORRADE_VERIFY((std::is_constructible<Vector<dimensions>, Vector<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<Vector<dimensions>, const Vector<dimensions>&>{}));
void VectorTest::constructCopy3D() { CORRADE_VERIFY((std::is_assignable<Vector<dimensions>, Vector<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<Vector3D, const Vector3D&>{})); CORRADE_VERIFY(!(std::is_assignable<Vector<dimensions>, const Vector<dimensions>&>{}));
CORRADE_VERIFY(!(std::is_assignable<Vector3D, const Vector3D&>{}));
} }
void VectorTest::debugFlag() { void VectorTest::debugFlag() {

43
src/Magnum/Shaders/Test/VertexColorTest.cpp

@ -32,47 +32,38 @@ namespace Magnum { namespace Shaders { namespace Test { namespace {
struct VertexColorTest: TestSuite::Tester { struct VertexColorTest: TestSuite::Tester {
explicit VertexColorTest(); explicit VertexColorTest();
void constructNoCreate2D(); template<UnsignedInt dimensions> void constructNoCreate();
void constructNoCreate3D(); template<UnsignedInt dimensions> void constructCopy();
void constructCopy2D();
void constructCopy3D();
}; };
VertexColorTest::VertexColorTest() { VertexColorTest::VertexColorTest() {
addTests({&VertexColorTest::constructNoCreate2D, addTests<VertexColorTest>({
&VertexColorTest::constructNoCreate3D, &VertexColorTest::constructNoCreate<2>,
&VertexColorTest::constructNoCreate<3>,
&VertexColorTest::constructCopy2D, &VertexColorTest::constructCopy<2>,
&VertexColorTest::constructCopy3D}); &VertexColorTest::constructCopy<3>});
} }
void VertexColorTest::constructNoCreate2D() { template<UnsignedInt dimensions> void VertexColorTest::constructNoCreate() {
{ setTestCaseTemplateName(std::to_string(dimensions));
VertexColor2D shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0);
}
CORRADE_VERIFY(true);
}
void VertexColorTest::constructNoCreate3D() {
{ {
VertexColor3D shader{NoCreate}; VertexColor<dimensions> shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0); CORRADE_COMPARE(shader.id(), 0);
} }
CORRADE_VERIFY(true); CORRADE_VERIFY(true);
} }
void VertexColorTest::constructCopy2D() { template<UnsignedInt dimensions> void VertexColorTest::constructCopy() {
CORRADE_VERIFY(!(std::is_constructible<VertexColor2D, const VertexColor2D&>{})); setTestCaseTemplateName(std::to_string(dimensions));
CORRADE_VERIFY(!(std::is_assignable<VertexColor2D, const VertexColor2D&>{}));
} CORRADE_VERIFY((std::is_constructible<VertexColor<dimensions>, VertexColor<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<VertexColor<dimensions>, const VertexColor<dimensions>&>{}));
void VertexColorTest::constructCopy3D() { CORRADE_VERIFY((std::is_assignable<VertexColor<dimensions>, VertexColor<dimensions>&&>{}));
CORRADE_VERIFY(!(std::is_constructible<VertexColor3D, const VertexColor3D&>{})); CORRADE_VERIFY(!(std::is_assignable<VertexColor<dimensions>, const VertexColor<dimensions>&>{}));
CORRADE_VERIFY(!(std::is_assignable<VertexColor3D, const VertexColor3D&>{}));
} }
}}}} }}}}

Loading…
Cancel
Save