PluginManager tests part 6 (PluginSession class) (#346)
authorIvan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 <ivan.vagin@samsung.com>
Fri, 22 Jun 2018 11:47:37 +0000 (14:47 +0300)
committerSergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 <s.vostokov@samsung.com>
Fri, 22 Jun 2018 11:47:37 +0000 (14:47 +0300)
PluginSession class tests

This commit introduced test for PluginSession class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
contrib/nnc/src/module/plugin/PluginSession.test.cpp [new file with mode: 0644]

diff --git a/contrib/nnc/src/module/plugin/PluginSession.test.cpp b/contrib/nnc/src/module/plugin/PluginSession.test.cpp
new file mode 100644 (file)
index 0000000..05cdb6f
--- /dev/null
@@ -0,0 +1,28 @@
+#include "module/plugin/PluginSession.h"
+
+#include "gtest/gtest.h"
+
+using namespace nncc::contrib::config;
+
+TEST(CONTRIB_NNC, PluginSession)
+{
+  PluginSession ps;
+
+  // 'getInfo' 'addInfo' methods
+  ps.addInfo("name1", "value1");
+  ASSERT_EQ(ps.getInfo().getElement("name1").getValue(), "value1");
+  ASSERT_EQ(ps.getInfo("name1"), "value1");
+
+  // 'registerParam' 'getSupportedParams' methods
+  ps.registerParam(PluginParam("param1", "desc1", true));
+  ps.registerParam(PluginParam("param2", "desc2", false));
+  std::map<std::string, PluginParam> params = ps.getSupportedParams();
+  ASSERT_EQ(params.find("param1")->second.getDesc(), "desc1");
+  ASSERT_EQ(params.find("param2")->second.getDesc(), "desc2");
+
+  // Operator '<<'
+  std::ostringstream os;
+  os << ps;
+  ASSERT_EQ(os.str(), "<info> = {\n<name1> = value1\n}\nsupported "
+                      "params:\nparam1 desc1\nparam2 desc2\n");
+}