hunting/test/application/HuntingCamera/src_mock/HuntingCameraTest.h
2024-06-15 08:39:16 +08:00

65 lines
2.1 KiB
C++

/*
* Copyright (c) 2023 Fancy Code.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef HUNTING_CAMERA_TEST_H
#define HUNTING_CAMERA_TEST_H
#include "AppManagerTestTool.h"
#include "DeviceManagerTestTool.h"
#include "GtestUsing.h"
#include "HalTestTool.h"
#include "LinuxApiMock.h"
#include "MainThread.h"
#include "McuManagerTestTool.h"
#include "MissionManagerTestTool.h"
#include "TestManager.h"
#include <memory>
class MainThreadTest : public MainThread
{
public:
MainThreadTest() = default;
virtual ~MainThreadTest() = default;
void CustomizationInit(void) override;
};
class HuntingCameraTest : public testing::Test,
public TestManager,
public MissionManagerTestTool,
public McuManagerTestTool,
public AppManagerTestTool,
public DeviceManagerTestTool,
virtual public HalTestTool
{
public:
HuntingCameraTest();
virtual ~HuntingCameraTest();
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp() override;
void TearDown() override;
private:
void CreateAllCamerasMcok(void);
void DestroyAllCamerasMock(void);
void CreateAllKeysMcok(void);
void DestroyAllKeysMock(void);
void CreateAllLedsMcok(void);
void DestroyAllLedsMock(void);
protected:
std::shared_ptr<LinuxTest> mLinuxTest;
std::map<CameraType, std::shared_ptr<VCameraHal>> mAllCamerasMock;
std::map<std::string, std::shared_ptr<VKeyHal>> mAllKeysMock;
std::map<std::string, std::shared_ptr<VLedHal>> mAllLedsMock;
};
#endif