/* * 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 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 mLinuxTest; std::map> mAllCamerasMock; std::map> mAllKeysMock; std::map> mAllLedsMock; }; #endif