From 789776a07b0936ff618f12c4b98cec2a5770e36f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ivan=20Vagin/AI=20Tools=20Lab=20/SRR/Engineer/=EC=82=BC?= =?utf8?q?=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 22 Jun 2018 16:58:26 +0300 Subject: [PATCH] PluginManager tests part 4 (PluginInstance class) (#342) PluginManager tests: PluginInstance class This commit introduced test for PluginInstance class Signed-off-by: Ivan Vagin --- .../nnc/libs/plugin/src/PluginInstance.test.cpp | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 contrib/nnc/libs/plugin/src/PluginInstance.test.cpp diff --git a/contrib/nnc/libs/plugin/src/PluginInstance.test.cpp b/contrib/nnc/libs/plugin/src/PluginInstance.test.cpp new file mode 100644 index 0000000..68643cf --- /dev/null +++ b/contrib/nnc/libs/plugin/src/PluginInstance.test.cpp @@ -0,0 +1,41 @@ +#include "PluginInstance.h" +#include "AbstractSession.h" +#include "PluginType.h" +#include "PluginException.h" + +#include "gtest/gtest.h" + +using namespace nncc::contrib::plugin; +using namespace nncc::contrib::config; + +class ConcretePluginInstance : public AbstractPluginInstance +{ +public: + void fillSession() override {} + void setParam(const std::string &name) override {} + void setParam(const std::string &name, const std::string &value) override {} + void checkConfig() override {} + void *execute(void *data) override {} +}; + +class ConcreteSession : public AbstractSession +{ +public: + ConcreteSession() {} + void addInfo(const std::string &name, const std::string &value) override {} + void registerParam(const PluginParam ¶m) override {} +}; + +TEST(CONTRIB_PLUGIN, PluginInstance) +{ + ConcretePluginInstance pluginInstance; + + ASSERT_THROW(pluginInstance.getSession(), nncc::contrib::PluginException); + + std::shared_ptr pSession = std::make_shared(); + pluginInstance.setSession(pSession); + + pluginInstance.fillSessionBase(PluginType::typeFrontEnd, "verNum", "pluginName"); + + ASSERT_EQ(pluginInstance.getSession()->getPluginType(), PluginType::typeFrontEnd); +} -- 2.7.4