1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef BATTERY_STTEST_H 17 #define BATTERY_STTEST_H 18 19 #include <gtest/gtest.h> 20 #include "battery_led.h" 21 22 class BatterySttest : public testing::Test { 23 public: 24 static void SetUpTestCase(); 25 static void TearDownTestCase(); 26 void SetUp(); 27 void TearDown(); 28 }; 29 30 struct BatteryLedUnitTest {}; 31 32 void UpdateLedColorTest(const int32_t& chargestate, const int32_t& capacity, 33 OHOS::HDI::Battery::V1_0::BatteryLed& batteryled); 34 35 template<typename Tag, typename PrivateFun, PrivateFun privateFun> 36 class UpdateLedColorImplement { UpdateLedColorTest(const int32_t & chargestate,const int32_t & capacity,OHOS::HDI::Battery::V1_0::BatteryLed & batteryled)37 friend void UpdateLedColorTest(const int32_t& chargestate, const int32_t& capacity, 38 OHOS::HDI::Battery::V1_0::BatteryLed& batteryled) 39 { 40 (batteryled.*privateFun)(chargestate, capacity); 41 } 42 }; 43 44 template class UpdateLedColorImplement < 45 BatteryLedUnitTest, 46 decltype(&OHOS::HDI::Battery::V1_0::BatteryLed::UpdateLedColor), 47 &OHOS::HDI::Battery::V1_0::BatteryLed::UpdateLedColor 48 >; 49 #endif // BATTERY_STTEST_H 50