Data tests part 1.2 (Data class) (#345)
authorIvan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 <ivan.vagin@samsung.com>
Fri, 22 Jun 2018 13:57:12 +0000 (16:57 +0300)
committerSergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 <s.vostokov@samsung.com>
Fri, 22 Jun 2018 13:57:12 +0000 (16:57 +0300)
Data class tests

This commit introduced test for Data class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
contrib/nnc/src/module/plugin/PluginData.test.cpp

index c0d6afa..2dc45e1 100644 (file)
@@ -40,3 +40,44 @@ TEST(CONTRIB_NNC, DataException)
   // should not happen
   FAIL();
 }
+
+// PluginData class
+
+TEST(CONTRIB_NNC, PluginData)
+{
+  // Constructor(name, value)
+  Data d("some name", "some value");
+  ASSERT_EQ(d.getName(), "some name");
+  ASSERT_EQ(d.getValue(), "some value");
+  ASSERT_EQ(d.hasValue(), true);
+
+  // Constructor(name)
+  Data d2("name1");
+  ASSERT_EQ(d2.getName(), "name1");
+  ASSERT_EQ(d2.hasValue(), false);
+  ASSERT_THROW(d2.getValue(), DataException);
+
+  // 'setValue' method
+  d2.setValue("value1");
+  ASSERT_EQ(d2.getValue(), "value1");
+  ASSERT_EQ(d2.hasValue(), true);
+  d2.setValue("value2");
+  ASSERT_EQ(d2.getValue(), "value2");
+}
+
+TEST(CONTRIB_NNC, PluginDataOperators)
+{
+  Data d("some name", "some value");
+
+  // Operator '=='
+  ASSERT_TRUE(d == "some value");
+  ASSERT_FALSE(d == "wrong value");
+
+  // Operator '<<'
+  std::ostringstream os1;
+  os1 << d;
+  ASSERT_EQ(os1.str(), "<some name> = some value");
+  std::ostringstream os2;
+  os2 << Data("name2");
+  ASSERT_EQ(os2.str(), "<name2>");
+}