Merge branch 'master' into notification-service
[platform/upstream/iotivity.git] / resource / unittests / OCRepresentationTest.cpp
index 629b989..5701fc2 100644 (file)
@@ -29,11 +29,11 @@ namespace OCRepresentationTest
     using std::string;
     using std::vector;
 
-    template<typename T>
-    void parsedEqual(T expected, const std::string& actualStr)
+    void parsedEqual(double expected, const std::string& actualStr)
     {
-        T actual = boost::lexical_cast<T>(actualStr);
-        EXPECT_LT(std::abs(expected - actual), std::numeric_limits<T>::epsilon());
+        double actual = boost::lexical_cast<double>(actualStr);
+        EXPECT_GE(actual, expected - .0000001);
+        EXPECT_LE(actual, expected + .0000001);
     }
 
     // getValueToString(all types)
@@ -421,9 +421,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(nullptr, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -442,9 +442,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -463,14 +463,16 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         int badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<int>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
 
-    TEST(OCRepresentationSubscript, Boolean)
+    //Disabled this test due to older GCC v4.6 fails for this test.
+    //We will enable it when we have a fix for it.
+    TEST(OCRepresentationSubscript, DISABLED_Boolean)
     {
         static const std::string AttrName = "BooleanTest";
         OCRepresentation rep;
@@ -490,9 +492,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout);
 
         int badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<int>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -511,7 +513,7 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         (void)badout;
     }
 
@@ -533,9 +535,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource.getUri(), repout2.getUri());
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -554,9 +556,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -575,9 +577,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -596,9 +598,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -617,9 +619,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -638,9 +640,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -660,9 +662,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -681,9 +683,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -702,9 +704,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -724,9 +726,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -745,9 +747,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -766,9 +768,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -788,9 +790,9 @@ namespace OCRepresentationTest
         EXPECT_EQ(repsource, repout2);
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -808,17 +810,17 @@ namespace OCRepresentationTest
         vector<OCRepresentation> repout2;
         repout2 = rep[AttrName];
 
-        EXPECT_EQ(2, repout.size());
+        EXPECT_EQ(2u, repout.size());
         EXPECT_EQ(inner1.getUri(), repout[0].getUri());
         EXPECT_EQ(inner2.getUri(), repout[1].getUri());
-        EXPECT_EQ(2, repout2.size());
+        EXPECT_EQ(2u, repout2.size());
         EXPECT_EQ(inner1.getUri(), repout2[0].getUri());
         EXPECT_EQ(inner2.getUri(), repout2[1].getUri());
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -839,28 +841,28 @@ namespace OCRepresentationTest
         vector<vector<OCRepresentation>> repout2;
         repout2 = rep[AttrName];
 
-        EXPECT_EQ(2, repout.size());
-        EXPECT_EQ(2, repout[0].size());
+        EXPECT_EQ(2u, repout.size());
+        EXPECT_EQ(2u, repout[0].size());
         EXPECT_EQ(inner1.getUri(), repout[0][0].getUri());
         EXPECT_EQ(inner2.getUri(), repout[0][1].getUri());
-        EXPECT_EQ(2, repout.size());
-        EXPECT_EQ(2, repout[1].size());
+        EXPECT_EQ(2u, repout.size());
+        EXPECT_EQ(2u, repout[1].size());
         EXPECT_EQ(inner3.getUri(), repout[1][0].getUri());
         EXPECT_EQ(inner4.getUri(), repout[1][1].getUri());
 
-        EXPECT_EQ(2, repout2.size());
-        EXPECT_EQ(2, repout2[0].size());
+        EXPECT_EQ(2u, repout2.size());
+        EXPECT_EQ(2u, repout2[0].size());
         EXPECT_EQ(inner1.getUri(), repout2[0][0].getUri());
         EXPECT_EQ(inner2.getUri(), repout2[0][1].getUri());
-        EXPECT_EQ(2, repout2.size());
-        EXPECT_EQ(2, repout2[1].size());
+        EXPECT_EQ(2u, repout2.size());
+        EXPECT_EQ(2u, repout2[1].size());
         EXPECT_EQ(inner3.getUri(), repout2[1][0].getUri());
         EXPECT_EQ(inner4.getUri(), repout2[1][1].getUri());
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -887,42 +889,42 @@ namespace OCRepresentationTest
         vector<vector<vector<OCRepresentation>>> repout2;
         repout2 = rep[AttrName];
 
-        EXPECT_EQ(2, repout.size());
-        EXPECT_EQ(2, repout[0].size());
-        EXPECT_EQ(2, repout[0][0].size());
+        EXPECT_EQ(2u, repout.size());
+        EXPECT_EQ(2u, repout[0].size());
+        EXPECT_EQ(2u, repout[0][0].size());
         EXPECT_EQ(inner1.getUri(), repout[0][0][0].getUri());
         EXPECT_EQ(inner2.getUri(), repout[0][0][1].getUri());
-        EXPECT_EQ(2, repout[0][1].size());
+        EXPECT_EQ(2u, repout[0][1].size());
         EXPECT_EQ(inner3.getUri(), repout[0][1][0].getUri());
         EXPECT_EQ(inner4.getUri(), repout[0][1][1].getUri());
-        EXPECT_EQ(2, repout[1].size());
-        EXPECT_EQ(2, repout[1][0].size());
+        EXPECT_EQ(2u, repout[1].size());
+        EXPECT_EQ(2u, repout[1][0].size());
         EXPECT_EQ(inner5.getUri(), repout[1][0][0].getUri());
         EXPECT_EQ(inner6.getUri(), repout[1][0][1].getUri());
-        EXPECT_EQ(2, repout[1][1].size());
+        EXPECT_EQ(2u, repout[1][1].size());
         EXPECT_EQ(inner7.getUri(), repout[1][1][0].getUri());
         EXPECT_EQ(inner8.getUri(), repout[1][1][1].getUri());
 
-        EXPECT_EQ(2, repout2.size());
-        EXPECT_EQ(2, repout2[0].size());
-        EXPECT_EQ(2, repout2[0][0].size());
+        EXPECT_EQ(2u, repout2.size());
+        EXPECT_EQ(2u, repout2[0].size());
+        EXPECT_EQ(2u, repout2[0][0].size());
         EXPECT_EQ(inner1.getUri(), repout2[0][0][0].getUri());
         EXPECT_EQ(inner2.getUri(), repout2[0][0][1].getUri());
-        EXPECT_EQ(2, repout[0][1].size());
+        EXPECT_EQ(2u, repout[0][1].size());
         EXPECT_EQ(inner3.getUri(), repout2[0][1][0].getUri());
         EXPECT_EQ(inner4.getUri(), repout2[0][1][1].getUri());
-        EXPECT_EQ(2, repout[1].size());
-        EXPECT_EQ(2, repout[1][0].size());
+        EXPECT_EQ(2u, repout[1].size());
+        EXPECT_EQ(2u, repout[1][0].size());
         EXPECT_EQ(inner5.getUri(), repout2[1][0][0].getUri());
         EXPECT_EQ(inner6.getUri(), repout2[1][0][1].getUri());
-        EXPECT_EQ(2, repout[1][1].size());
+        EXPECT_EQ(2u, repout[1][1].size());
         EXPECT_EQ(inner7.getUri(), repout2[1][1][0].getUri());
         EXPECT_EQ(inner8.getUri(), repout2[1][1][1].getUri());
 
         double badout;
-        EXPECT_THROW(badout = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<double>(AttrName, badout));
         string badoutstr;
-        EXPECT_THROW(badoutstr = rep[AttrName], boost::bad_get);
+        EXPECT_FALSE(rep.getValue<string>(AttrName, badoutstr));
         (void)badout;
         (void)badoutstr;
     }
@@ -938,7 +940,7 @@ namespace OCRepresentationTest
         rep.setValue("bool", true);
         rep.setValue("string", std::string("this is a string"));
 
-        EXPECT_EQ(4, rep.size());
+        EXPECT_EQ(4u, rep.size());
         EXPECT_FALSE(rep.empty());
 
         OCRepresentation::const_iterator itr = rep.cbegin();
@@ -963,7 +965,7 @@ namespace OCRepresentationTest
         rep.setValue("bool", true);
         rep.setValue("string", std::string("this is a string"));
 
-        EXPECT_EQ(4, rep.size());
+        EXPECT_EQ(4u, rep.size());
         EXPECT_FALSE(rep.empty());
 
         for(const auto& a : rep)
@@ -988,7 +990,7 @@ namespace OCRepresentationTest
         rep.setValue("bool", true);
         rep.setValue("string", std::string("this is a string"));
 
-        EXPECT_EQ(4, rep.size());
+        EXPECT_EQ(4u, rep.size());
         EXPECT_FALSE(rep.empty());
 
         for(auto& cur : rep)
@@ -998,7 +1000,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("int", cur.attrname());
                 EXPECT_EQ(AttributeType::Integer, cur.type());
                 EXPECT_EQ(AttributeType::Integer, cur.base_type());
-                EXPECT_EQ(0, cur.depth());
+                EXPECT_EQ(0u, cur.depth());
                 int curInt = cur.getValue<int>();
                 EXPECT_EQ(8, curInt);
             }
@@ -1007,7 +1009,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("double", cur.attrname());
                 EXPECT_EQ(AttributeType::Double, cur.type());
                 EXPECT_EQ(AttributeType::Double, cur.base_type());
-                EXPECT_EQ(0, cur.depth());
+                EXPECT_EQ(0u, cur.depth());
                 double curDouble = cur.getValue<double>();
                 EXPECT_EQ(8.8, curDouble);
             }
@@ -1016,7 +1018,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("bool", cur.attrname());
                 EXPECT_EQ(AttributeType::Boolean, cur.type());
                 EXPECT_EQ(AttributeType::Boolean, cur.base_type());
-                EXPECT_EQ(0, cur.depth());
+                EXPECT_EQ(0u, cur.depth());
                 bool curBool = cur.getValue<bool>();
                 EXPECT_EQ(true, curBool);
             }
@@ -1025,7 +1027,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("string", cur.attrname());
                 EXPECT_EQ(AttributeType::String, cur.type());
                 EXPECT_EQ(AttributeType::String, cur.base_type());
-                EXPECT_EQ(0, cur.depth());
+                EXPECT_EQ(0u, cur.depth());
                 string curStr = cur.getValue<string>();
                 EXPECT_EQ("this is a string", curStr);
             }
@@ -1093,7 +1095,7 @@ namespace OCRepresentationTest
         vector<vector<vector<OCRepresentation>>> repvvv{{{sub5},{sub6}},{{sub3},{sub2}}};
         rep.setValue("repvvv", repvvv);
 
-        EXPECT_EQ(20, rep.size());
+        EXPECT_EQ(20u, rep.size());
         EXPECT_FALSE(rep.empty());
 
         OCRepresentation::iterator itr= rep.begin();
@@ -1106,7 +1108,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("int", itr->attrname());
                 EXPECT_EQ(AttributeType::Integer, itr->type());
                 EXPECT_EQ(AttributeType::Integer, itr->base_type());
-                EXPECT_EQ(0, itr->depth());
+                EXPECT_EQ(0u, itr->depth());
                 int curInt = (*itr).getValue<int>();
                 EXPECT_EQ(8, curInt);
             }
@@ -1115,7 +1117,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("double", itr->attrname());
                 EXPECT_EQ(AttributeType::Double, itr->type());
                 EXPECT_EQ(AttributeType::Double, itr->base_type());
-                EXPECT_EQ(0, itr->depth());
+                EXPECT_EQ(0u, itr->depth());
                 double curDouble = (*itr).getValue<double>();
                 EXPECT_EQ(8.8, curDouble);
             }
@@ -1124,7 +1126,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("bool", itr->attrname());
                 EXPECT_EQ(AttributeType::Boolean, itr->type());
                 EXPECT_EQ(AttributeType::Boolean, itr->base_type());
-                EXPECT_EQ(0, itr->depth());
+                EXPECT_EQ(0u, itr->depth());
                 bool curBool = (*itr).getValue<bool>();
                 EXPECT_EQ(true, curBool);
             }
@@ -1133,7 +1135,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("string", itr->attrname());
                 EXPECT_EQ(AttributeType::String, itr->type());
                 EXPECT_EQ(AttributeType::String, itr->base_type());
-                EXPECT_EQ(0, itr->depth());
+                EXPECT_EQ(0u, itr->depth());
                 string curString = (*itr).getValue<string>();
                 EXPECT_EQ("this is a string", curString);
             }
@@ -1142,7 +1144,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("rep", itr->attrname());
                 EXPECT_EQ(AttributeType::OCRepresentation, itr->type());
                 EXPECT_EQ(AttributeType::OCRepresentation, itr->base_type());
-                EXPECT_EQ(0, itr->depth());
+                EXPECT_EQ(0u, itr->depth());
                 OCRepresentation curRep = (*itr).getValue<OCRepresentation>();
                 EXPECT_EQ(sub1.getUri(), curRep.getUri());
             }
@@ -1151,7 +1153,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("intv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Integer, itr->base_type());
-                EXPECT_EQ(1, itr->depth());
+                EXPECT_EQ(1u, itr->depth());
                 vector<int> curv = (*itr).getValue<vector<int>>();
                 EXPECT_EQ(intv, curv);
             }
@@ -1160,7 +1162,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("doublev", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Double, itr->base_type());
-                EXPECT_EQ(1, itr->depth());
+                EXPECT_EQ(1u, itr->depth());
                 vector<double> curv = (*itr).getValue<vector<double>>();
                 EXPECT_EQ(doublev, curv);
             }
@@ -1169,7 +1171,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("boolv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Boolean, itr->base_type());
-                EXPECT_EQ(1, itr->depth());
+                EXPECT_EQ(1u, itr->depth());
                 vector<bool> curv = (*itr).getValue<vector<bool>>();
                 EXPECT_EQ(boolv, curv);
             }
@@ -1178,7 +1180,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("strv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::String, itr->base_type());
-                EXPECT_EQ(1, itr->depth());
+                EXPECT_EQ(1u, itr->depth());
                 vector<string> curv = (*itr).getValue<vector<string>>();
                 EXPECT_EQ(strv, curv);
             }
@@ -1187,9 +1189,9 @@ namespace OCRepresentationTest
                 EXPECT_EQ("repv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::OCRepresentation, itr->base_type());
-                EXPECT_EQ(1, itr->depth());
+                EXPECT_EQ(1u, itr->depth());
                 vector<OCRepresentation> curv = (*itr).getValue<vector<OCRepresentation>>();
-                EXPECT_EQ(2, repv.size());
+                EXPECT_EQ(2u, repv.size());
                 EXPECT_EQ(sub1.getUri(), repv[0].getUri());
                 EXPECT_EQ(sub2.getUri(), repv[1].getUri());
             }
@@ -1198,7 +1200,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("intvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Integer, itr->base_type());
-                EXPECT_EQ(2, itr->depth());
+                EXPECT_EQ(2u, itr->depth());
                 vector<vector<int>> curv = (*itr).getValue<vector<vector<int>>>();
                 EXPECT_EQ(intvv, curv);
             }
@@ -1207,7 +1209,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("intvvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Integer, itr->base_type());
-                EXPECT_EQ(3, itr->depth());
+                EXPECT_EQ(3u, itr->depth());
                 vector<vector<vector<int>>> curv = (*itr).getValue<vector<vector<vector<int>>>>();
                 EXPECT_EQ(intvvv, curv);
             }
@@ -1216,7 +1218,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("doublevv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Double, itr->base_type());
-                EXPECT_EQ(2, itr->depth());
+                EXPECT_EQ(2u, itr->depth());
                 vector<vector<double>> curv = (*itr).getValue<vector<vector<double>>>();
                 EXPECT_EQ(doublevv, curv);
             }
@@ -1225,7 +1227,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("doublevvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Double, itr->base_type());
-                EXPECT_EQ(3, itr->depth());
+                EXPECT_EQ(3u, itr->depth());
                 vector<vector<vector<double>>> curv =
                     (*itr).getValue<vector<vector<vector<double>>>>();
                 EXPECT_EQ(doublevvv, curv);
@@ -1235,7 +1237,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("boolvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Boolean, itr->base_type());
-                EXPECT_EQ(2, itr->depth());
+                EXPECT_EQ(2u, itr->depth());
                 vector<vector<bool>> curv = (*itr).getValue<vector<vector<bool>>>();
                 EXPECT_EQ(boolvv, curv);
             }
@@ -1244,7 +1246,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("boolvvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::Boolean, itr->base_type());
-                EXPECT_EQ(3, itr->depth());
+                EXPECT_EQ(3u, itr->depth());
                 vector<vector<vector<bool>>> curv = (*itr).getValue<vector<vector<vector<bool>>>>();
                 EXPECT_EQ(boolvvv, curv);
             }
@@ -1253,7 +1255,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("strvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::String, itr->base_type());
-                EXPECT_EQ(2, itr->depth());
+                EXPECT_EQ(2u, itr->depth());
                 vector<vector<string>> curv = (*itr).getValue<vector<vector<string>>>();
                 EXPECT_EQ(strvv, curv);
             }
@@ -1262,7 +1264,7 @@ namespace OCRepresentationTest
                 EXPECT_EQ("strvvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::String, itr->base_type());
-                EXPECT_EQ(3, itr->depth());
+                EXPECT_EQ(3u, itr->depth());
                 vector<vector<vector<string>>> curv =
                     (*itr).getValue<vector<vector<vector<string>>>>();
                 EXPECT_EQ(strvvv, curv);
@@ -1272,14 +1274,14 @@ namespace OCRepresentationTest
                 EXPECT_EQ("repvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::OCRepresentation, itr->base_type());
-                EXPECT_EQ(2, itr->depth());
+                EXPECT_EQ(2u, itr->depth());
                 vector<vector<OCRepresentation>> curv =
                     (*itr).getValue<vector<vector<OCRepresentation>>>();
-                EXPECT_EQ(2, curv.size());
-                EXPECT_EQ(2, curv[0].size());
+                EXPECT_EQ(2u, curv.size());
+                EXPECT_EQ(2u, curv[0].size());
                 EXPECT_EQ(sub1.getUri(), curv[0][0].getUri());
                 EXPECT_EQ(sub2.getUri(), curv[0][1].getUri());
-                EXPECT_EQ(2, curv[1].size());
+                EXPECT_EQ(2u, curv[1].size());
                 EXPECT_EQ(sub3.getUri(), curv[1][0].getUri());
                 EXPECT_EQ(sub4.getUri(), curv[1][1].getUri());
             }
@@ -1288,18 +1290,18 @@ namespace OCRepresentationTest
                 EXPECT_EQ("repvvv", itr->attrname());
                 EXPECT_EQ(AttributeType::Vector, itr->type());
                 EXPECT_EQ(AttributeType::OCRepresentation, itr->base_type());
-                EXPECT_EQ(3, itr->depth());
+                EXPECT_EQ(3u, itr->depth());
                 vector<vector<vector<OCRepresentation>>> curv =
                     (*itr).getValue<vector<vector<vector<OCRepresentation>>>>();
-                EXPECT_EQ(2, curv.size());
-                EXPECT_EQ(2, curv[0].size());
-                EXPECT_EQ(1, curv[0][0].size());
+                EXPECT_EQ(2u, curv.size());
+                EXPECT_EQ(2u, curv[0].size());
+                EXPECT_EQ(1u, curv[0][0].size());
                 EXPECT_EQ(sub5.getUri(), curv[0][0][0].getUri());
-                EXPECT_EQ(1, curv[0][1].size());
+                EXPECT_EQ(1u, curv[0][1].size());
                 EXPECT_EQ(sub6.getUri(), curv[0][1][0].getUri());
-                EXPECT_EQ(1, curv[1][0].size());
+                EXPECT_EQ(1u, curv[1][0].size());
                 EXPECT_EQ(sub3.getUri(), curv[1][0][0].getUri());
-                EXPECT_EQ(1, curv[1][1].size());
+                EXPECT_EQ(1u, curv[1][1].size());
                 EXPECT_EQ(sub2.getUri(), curv[1][1][0].getUri());
             }
             else