#include "ILog.h" #include "IMcuManager.h" #include "LinuxApiMock.h" #include "McuAskBase.h" #include "McuAskBaseTestTool.h" #include "McuManagerTestTool.h" #include #include #include namespace McuManagerMockTest { class McuManagerMockTest : public testing::Test, public McuManagerTestTool { public: McuManagerMockTest() {} virtual ~McuManagerMockTest() {} static void SetUpTestCase() { CreateLogModule(); CreateMcuManager(); ILogInit(LOG_INSTANCE_TYPE_END); } static void TearDownTestCase() { ILogUnInit(); } virtual void SetUp() { mLinuxTest = LinuxTest::CreateLinuxTest(); std::shared_ptr test = mLinuxTest; LinuxApiMock::GetInstance(&test); LinuxApiMock::GetInstance()->Init(); McuManagerTestTool::Init(mLinuxTest); } virtual void TearDown() { LinuxApiMock::GetInstance()->UnInit(); mLinuxTest = std::make_shared(); std::shared_ptr test = std::make_shared(); LinuxApiMock::GetInstance(&test); McuManagerTestTool::UnInit(); } public: std::shared_ptr mLinuxTest; }; // ../output_files/test/bin/McuManagerTest // --gtest_filter=McuManagerMockTest.INTEGRATION_McuManager_EXAMPLE_GetIpcMissiony TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_GetIpcMissiony) { class McuAskTest : public McuAsk, public McuAskBaseTestTool { public: McuAskTest() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { McuAskBaseTestTool::ReplyFinished(result); if (result) { LogInfo("Ask data succeed, mDataReply = %d.\n", static_cast(mDataReply)); // Do something here. } else { LogError("Ask data falied.\n"); } } }; IMcuManager::GetInstance()->Init(); std::shared_ptr ask = std::make_shared(); std::shared_ptr testTool = std::dynamic_pointer_cast(ask); McuAskBaseTestTool::McuAskDefaultFeatures(testTool); IMcuManager::GetInstance()->GetIpcMission(ask); std::this_thread::sleep_for(std::chrono::milliseconds(2000)); IMcuManager::GetInstance()->UnInit(); } } // namespace McuManagerMockTest