Add test code of chromakey for layer to IlmCommandTest and GraphicalObjectTest
authorNobuhiko Tanibata <ntanibata@jp.adit-jv.com>
Sat, 4 Aug 2012 13:52:07 +0000 (22:52 +0900)
committerMichael Schuldt <michael.schuldt@bmw.de>
Wed, 12 Sep 2012 09:34:35 +0000 (11:34 +0200)
LayerManagerClient/ilmClient/tests/IlmCommandTest.cpp
LayerManagerService/tests/GraphicalObjectTest.cpp

index 7a45d23..076eed3 100644 (file)
@@ -673,8 +673,9 @@ TEST_F(IlmCommandTest, ilm_getPropertiesOfSurface_ilm_surfaceSetSourceRectangle_
     ASSERT_FALSE(surfaceProperties2.chromaKeyEnabled);
 }
 
-TEST_F(IlmCommandTest, ilm_getPropertiesOfLayer_ilm_layerSetSourceRectangle_ilm_layerSetDestinationRectangle) {
+TEST_F(IlmCommandTest, ilm_getPropertiesOfLayer_ilm_layerSetSourceRectangle_ilm_layerSetDestinationRectangle_ilm_layerSetChromaKey) {
     t_ilm_uint layer;
+    t_ilm_int chromaKey[3] = {3, 22, 111};
     ilm_layerCreate(&layer);
     ilm_commitChanges();
 
@@ -683,6 +684,7 @@ TEST_F(IlmCommandTest, ilm_getPropertiesOfLayer_ilm_layerSetSourceRectangle_ilm_
     ilm_layerSetDestinationRectangle(layer,54,47,947,9);
     ilm_layerSetOrientation(layer,ILM_NINETY);
     ilm_layerSetVisibility(layer,true);
+    ilm_layerSetChromaKey(layer,chromaKey);
     ilm_commitChanges();
 
     ilmLayerProperties layerProperties1;
@@ -698,12 +700,17 @@ TEST_F(IlmCommandTest, ilm_getPropertiesOfLayer_ilm_layerSetSourceRectangle_ilm_
     ASSERT_EQ(9u, layerProperties1.destHeight);
     ASSERT_EQ(ILM_NINETY, layerProperties1.orientation);
     ASSERT_TRUE( layerProperties1.visibility);
+    ASSERT_TRUE(layerProperties1.chromaKeyEnabled);
+    ASSERT_EQ(3u,   layerProperties1.chromaKeyRed);
+    ASSERT_EQ(22u,  layerProperties1.chromaKeyGreen);
+    ASSERT_EQ(111u, layerProperties1.chromaKeyBlue);
 
     ilm_layerSetOpacity(layer,0.436);
     ilm_layerSetSourceRectangle(layer,784,546,235,78);
     ilm_layerSetDestinationRectangle(layer,536,5372,3,4316);
     ilm_layerSetOrientation(layer,ILM_TWOHUNDREDSEVENTY);
     ilm_layerSetVisibility(layer,false);
+    ilm_layerSetChromaKey(layer,NULL);
     ilm_commitChanges();
 
     ilmLayerProperties layerProperties2;
@@ -719,6 +726,7 @@ TEST_F(IlmCommandTest, ilm_getPropertiesOfLayer_ilm_layerSetSourceRectangle_ilm_
     ASSERT_EQ(4316u, layerProperties2.destHeight);
     ASSERT_EQ(ILM_TWOHUNDREDSEVENTY, layerProperties2.orientation);
     ASSERT_FALSE(layerProperties2.visibility);
+    ASSERT_FALSE(layerProperties2.chromaKeyEnabled);
 }
 
 TEST_F(IlmCommandTest, ilm_takeScreenshot) {
index 6e4e698..e1a29c0 100644 (file)
@@ -108,6 +108,13 @@ TEST_F(GraphicalObjectTest, constructor_LayerWithId)
     unsigned int expectedOpacity = 0.7;
     unsigned int expectedVisibility = 1;
     unsigned int expectedId = 411;
+    unsigned int expectedChromaKeyEnabled = 0;
+    unsigned char expectedChromaKeyRed = 0;
+    unsigned char expectedChromaKeyGreen = 0;
+    unsigned char expectedChromaKeyBlue = 0;
+    unsigned char chromaKeyRed = 3;
+    unsigned char chromaKeyGreen = 22;
+    unsigned char chromaKeyBlue = 111;
 
     /// Create graphical object of type layer without specific id
     GraphicalObject layer(expectedId, TypeLayer, expectedOpacity, expectedVisibility);
@@ -120,6 +127,15 @@ TEST_F(GraphicalObjectTest, constructor_LayerWithId)
 
     /// make sure, layer has expected visibility
     EXPECT_EQ(expectedVisibility, layer.getVisibility());
+
+    /// make sure, layer has expected chromaKeyEnabled
+    EXPECT_EQ(expectedChromaKeyEnabled, layer.getChromaKeyEnabled());
+
+    /// make sure, layer has expected chromaKey
+    layer.getChromaKey(chromaKeyRed, chromaKeyGreen, chromaKeyBlue);
+    EXPECT_EQ(expectedChromaKeyRed, chromaKeyRed);
+    EXPECT_EQ(expectedChromaKeyGreen, chromaKeyGreen);
+    EXPECT_EQ(expectedChromaKeyBlue, chromaKeyBlue);
 }
 
 TEST_F(GraphicalObjectTest, constructor_SurfaceWithId)
@@ -385,6 +401,90 @@ TEST_F(GraphicalObjectTest, getChromaKey_Surface)
     EXPECT_EQ(expectedChromaKeyBlue, chromaKeyBlue);
 }
 
+TEST_F(GraphicalObjectTest, setChromaKeyEnabled_Layer)
+{
+    /// set layer to enable chromakey
+    m_pLayer->setChromaKeyEnabled(true);
+
+    /// make sure, layer has expected chromakey enabled
+    EXPECT_TRUE(m_pLayer->getChromaKeyEnabled());
+
+    /// set layer to disable chromakey
+    m_pLayer->setChromaKeyEnabled(false);
+
+    /// make sure, layer has expected
+    EXPECT_FALSE(m_pLayer->getChromaKeyEnabled());
+}
+
+TEST_F(GraphicalObjectTest, getChromaKeyEnabled_Layer)
+{
+    /// set layer to enable chromakey
+    m_pLayer->setChromaKeyEnabled(true);
+
+    /// make sure, layer has expected chromakey enabled
+    EXPECT_TRUE(m_pLayer->getChromaKeyEnabled());
+
+    /// set layer to disable chromakey
+    m_pLayer->setChromaKeyEnabled(false);
+
+    /// make sure, layer has expected chromakey enabled
+    EXPECT_FALSE(m_pLayer->getChromaKeyEnabled());
+}
+
+TEST_F(GraphicalObjectTest, setChromaKey_Layer)
+{
+    unsigned char expectedChromaKeyRed   = 3;
+    unsigned char expectedChromaKeyGreen = 22;
+    unsigned char expectedChromaKeyBlue  = 111;
+    unsigned char chromaKeyRed   = 0xFF;
+    unsigned char chromaKeyGreen = 0xFF;
+    unsigned char chromaKeyBlue  = 0xFF;
+
+    /// make sure, layer has default chromakey
+    m_pLayer->getChromaKey(chromaKeyRed, chromaKeyGreen, chromaKeyBlue);
+    EXPECT_EQ(0, chromaKeyRed);
+    EXPECT_EQ(0, chromaKeyGreen);
+    EXPECT_EQ(0, chromaKeyBlue);
+
+    /// set chromakey of layer to expected value
+    m_pLayer->setChromaKey(expectedChromaKeyRed,
+                           expectedChromaKeyGreen,
+                           expectedChromaKeyBlue);
+
+    /// make sure, layer has expected chromakey
+    m_pLayer->getChromaKey(chromaKeyRed, chromaKeyGreen, chromaKeyBlue);
+    EXPECT_EQ(expectedChromaKeyRed,   chromaKeyRed);
+    EXPECT_EQ(expectedChromaKeyGreen, chromaKeyGreen);
+    EXPECT_EQ(expectedChromaKeyBlue,  chromaKeyBlue);
+}
+
+TEST_F(GraphicalObjectTest, getChromaKey_Layer)
+{
+    unsigned char expectedChromaKeyRed   = 3;
+    unsigned char expectedChromaKeyGreen = 22;
+    unsigned char expectedChromaKeyBlue  = 111;
+    unsigned char chromaKeyRed   = 0xFF;
+    unsigned char chromaKeyGreen = 0xFF;
+    unsigned char chromaKeyBlue  = 0xFF;
+
+    /// make sure, layer has default chromakey
+    m_pLayer->getChromaKey(chromaKeyRed, chromaKeyGreen, chromaKeyBlue);
+    EXPECT_EQ(0, chromaKeyRed);
+    EXPECT_EQ(0, chromaKeyGreen);
+    EXPECT_EQ(0, chromaKeyBlue);
+
+    /// set chromakey of layer to expected value
+    m_pLayer->setChromaKey(expectedChromaKeyRed,
+                           expectedChromaKeyGreen,
+                           expectedChromaKeyBlue);
+
+    /// make sure, layer has expected chromakey
+    m_pLayer->getChromaKey(chromaKeyRed, chromaKeyGreen, chromaKeyBlue);
+    EXPECT_EQ(expectedChromaKeyRed,   chromaKeyRed);
+    EXPECT_EQ(expectedChromaKeyGreen, chromaKeyGreen);
+    EXPECT_EQ(expectedChromaKeyBlue,  chromaKeyBlue);
+}
+
 TEST_F(GraphicalObjectTest, DISABLED_setShader)
 {
     // TODO: requires Shader object and shader code in files