70 lines
2.2 KiB
C++
70 lines
2.2 KiB
C++
#include "ILog.h"
|
|
#include "IMcuManager.h"
|
|
#include "LinuxApiMock.h"
|
|
#include "McuAskBase.h"
|
|
#include "McuManagerTestTool.h"
|
|
#include <gmock/gmock.h>
|
|
#include <gtest/gtest.h>
|
|
#include <thread>
|
|
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<LinuxApiMock> test = mLinuxTest;
|
|
LinuxApiMock::GetInstance(&test);
|
|
LinuxApiMock::GetInstance()->Init();
|
|
McuManagerTestTool::Init(mLinuxTest);
|
|
}
|
|
virtual void TearDown()
|
|
{
|
|
LinuxApiMock::GetInstance()->UnInit();
|
|
mLinuxTest = std::make_shared<LinuxTest>();
|
|
std::shared_ptr<LinuxApiMock> test = std::make_shared<LinuxApiMock>();
|
|
LinuxApiMock::GetInstance(&test);
|
|
McuManagerTestTool::UnInit();
|
|
}
|
|
|
|
public:
|
|
std::shared_ptr<LinuxTest> mLinuxTest;
|
|
};
|
|
// ../output_files/test/bin/McuManagerTest
|
|
// --gtest_filter=McuManagerMockTest.INTEGRATION_McuManager_EXAMPLE_GetIpcMissiony
|
|
TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_GetIpcMissiony)
|
|
{
|
|
class McuAskTest : public McuAsk<IpcMission>, public McuAskBase
|
|
{
|
|
public:
|
|
McuAskTest() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {}
|
|
virtual ~McuAskTest() = default;
|
|
void ReplyFinished(const bool result) override
|
|
{
|
|
//
|
|
McuAskBase::ReplyFinished(result);
|
|
if (result) {
|
|
LogInfo("Ask data succeed, mDataReply = %d.\n", static_cast<int>(mDataReply));
|
|
}
|
|
else {
|
|
LogError("Ask data falied.\n");
|
|
}
|
|
}
|
|
};
|
|
IMcuManager::GetInstance()->Init();
|
|
std::shared_ptr<VMcuAsk> ask = std::make_shared<McuAskTest>();
|
|
IMcuManager::GetInstance()->GetIpcMission(ask);
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
|
|
IMcuManager::GetInstance()->UnInit();
|
|
}
|
|
} // namespace McuManagerMockTest
|