test_dynamic_addon_factory.cpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 #include "test_dynamic_addon.h"
00012 
00013 #include <opc/common/addons_core/dynamic_addon_factory.h>
00014 
00015 #include <gtest/gtest.h>
00016 
00017 
00018 #ifndef DYNAMIC_ADDON_PATH
00019 #define DYNAMIC_ADDON_PATH "./libtest_dynamic_addon.so"
00020 #endif
00021 
00022 const char* modulePath = DYNAMIC_ADDON_PATH;
00023 
00024 TEST(DynamicAddonFactory, CanCreateAddons)
00025 {
00026   Common::AddonFactory::UniquePtr dynamicFactory = Common::CreateDynamicAddonFactory(modulePath);
00027   ASSERT_TRUE(static_cast<bool>(dynamicFactory->CreateAddon()));
00028 }
00029 
00030 TEST(DynamicAddonFactory, AddonInterfaceCastsToManagerInterface)
00031 {
00032   Common::AddonFactory::UniquePtr dynamicFactory = Common::CreateDynamicAddonFactory(modulePath);
00033   std::shared_ptr<Common::Addon> addon(dynamicFactory->CreateAddon());
00034   std::shared_ptr<OpcCoreTests::TestDynamicAddon> testAddon = std::dynamic_pointer_cast<OpcCoreTests::TestDynamicAddon>(addon);
00035   ASSERT_TRUE(static_cast<bool>(testAddon));
00036 }
00037 
00038 TEST(DynamicAddonFactory, CanCallMethodsOfAddon)
00039 {
00040   Common::AddonFactory::UniquePtr dynamicFactory = Common::CreateDynamicAddonFactory(modulePath);
00041   std::shared_ptr<Common::Addon> addon(dynamicFactory->CreateAddon());
00042   std::shared_ptr<OpcCoreTests::TestDynamicAddon> testAddon = std::dynamic_pointer_cast<OpcCoreTests::TestDynamicAddon>(addon);
00043   ASSERT_EQ(testAddon->GetStringWithHello(), std::string("hello"));
00044 }
00045 


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Sat Jun 8 2019 18:24:57