Browse Source

Trade: test that PhongMaterialData acessors fail where they should.

pull/191/head
Vladimír Vondruš 8 years ago
parent
commit
c20d50bf5f
  1. 4
      src/Magnum/Trade/CMakeLists.txt
  2. 2
      src/Magnum/Trade/Test/CMakeLists.txt
  3. 38
      src/Magnum/Trade/Test/MaterialDataTest.cpp

4
src/Magnum/Trade/CMakeLists.txt

@ -34,14 +34,14 @@ set(MagnumTrade_SRCS
MeshData3D.cpp
MeshObjectData2D.cpp
MeshObjectData3D.cpp
PhongMaterialData.cpp
SceneData.cpp
TextureData.cpp)
set(MagnumTrade_GracefulAssert_SRCS
ImageData.cpp
ObjectData2D.cpp
ObjectData3D.cpp)
ObjectData3D.cpp
PhongMaterialData.cpp)
set(MagnumTrade_HEADERS
AbstractImporter.h

2
src/Magnum/Trade/Test/CMakeLists.txt

@ -43,7 +43,7 @@ target_include_directories(TradeAbstractImporterTest PRIVATE ${CMAKE_CURRENT_BIN
corrade_add_test(TradeCameraDataTest CameraDataTest.cpp LIBRARIES MagnumTrade)
corrade_add_test(TradeImageDataTest ImageDataTest.cpp LIBRARIES MagnumTradeTestLib)
corrade_add_test(TradeLightDataTest LightDataTest.cpp LIBRARIES MagnumTrade)
corrade_add_test(TradeMaterialDataTest MaterialDataTest.cpp LIBRARIES MagnumTrade)
corrade_add_test(TradeMaterialDataTest MaterialDataTest.cpp LIBRARIES MagnumTradeTestLib)
corrade_add_test(TradeMeshData2DTest MeshData2DTest.cpp LIBRARIES MagnumTrade)
corrade_add_test(TradeMeshData3DTest MeshData3DTest.cpp LIBRARIES MagnumTrade)
corrade_add_test(TradeObjectData2DTest ObjectData2DTest.cpp LIBRARIES MagnumTradeTestLib)

38
src/Magnum/Trade/Test/MaterialDataTest.cpp

@ -43,6 +43,9 @@ class MaterialDataTest: public TestSuite::Tester {
void constructMovePhongNoDiffuseTexture();
void constructMovePhongNoSpecularTexture();
void accessInvalidColors();
void accessInvalidTextures();
void debugType();
void debugPhongFlag();
void debugPhongFlags();
@ -58,6 +61,9 @@ MaterialDataTest::MaterialDataTest() {
&MaterialDataTest::constructMovePhongNoDiffuseTexture,
&MaterialDataTest::constructMovePhongNoSpecularTexture,
&MaterialDataTest::accessInvalidColors,
&MaterialDataTest::accessInvalidTextures,
&MaterialDataTest::debugType,
&MaterialDataTest::debugPhongFlag,
&MaterialDataTest::debugPhongFlags});
@ -235,6 +241,38 @@ void MaterialDataTest::constructMovePhongNoSpecularTexture() {
CORRADE_COMPARE(d.shininess(), 80.0f);
}
void MaterialDataTest::accessInvalidColors() {
std::ostringstream out;
Error redirectError{&out};
PhongMaterialData a{PhongMaterialData::Flag::AmbientTexture|PhongMaterialData::Flag::DiffuseTexture|PhongMaterialData::Flag::SpecularTexture, 80.0f};
a.ambientColor();
a.diffuseColor();
a.specularColor();
CORRADE_COMPARE(out.str(),
"Trade::PhongMaterialData::ambientColor(): the material has ambient texture\n"
"Trade::PhongMaterialData::diffuseColor(): the material has diffuse texture\n"
"Trade::PhongMaterialData::specularColor(): the material has specular texture\n");
}
void MaterialDataTest::accessInvalidTextures() {
std::ostringstream out;
Error redirectError{&out};
PhongMaterialData a{PhongMaterialData::Flags{}, 80.0f};
a.ambientTexture();
a.diffuseTexture();
a.specularTexture();
CORRADE_COMPARE(out.str(),
"Trade::PhongMaterialData::ambientTexture(): the material doesn't have ambient texture\n"
"Trade::PhongMaterialData::diffuseTexture(): the material doesn't have diffuse texture\n"
"Trade::PhongMaterialData::specularTexture(): the material doesn't have specular texture\n");
}
void MaterialDataTest::debugType() {
std::ostringstream out;

Loading…
Cancel
Save