• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2024 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 #include "power_mode_module_native_test.h"
17 
18 using namespace testing::ext;
19 using namespace OHOS::PowerMgr;
20 using namespace OHOS;
21 using namespace std;
22 
SetUpTestCase()23 void PowerModeModuleNativeTest::SetUpTestCase()
24 {
25 }
26 
TearDownTestCase()27 void PowerModeModuleNativeTest::TearDownTestCase()
28 {
29 }
30 
SetUp()31 void PowerModeModuleNativeTest::SetUp()
32 {
33 }
34 
TearDown()35 void PowerModeModuleNativeTest::TearDown()
36 {
37 }
38 
OnPowerModeChanged(PowerMode mode)39 void PowerModeTestCallback::OnPowerModeChanged(PowerMode mode)
40 {
41     POWER_HILOGI(LABEL_TEST, "PowerModeTestCallback::OnPowerModeChanged.");
42 }
43 
44 namespace {
45 using ModeActionPolicy = std::function<void(bool)>;
46 
47 /**
48  * @tc.name: PowerModeModuleNativeTest001
49  * @tc.desc: test callback in PowerModeModule
50  */
51 HWTEST_F (PowerModeModuleNativeTest, PowerModeModuleNativeTest001, TestSize.Level1)
52 {
53     GTEST_LOG_(INFO) << "PowerModeModuleNativeTest001 start.";
54     POWER_HILOGI(LABEL_TEST, "PowerModeModuleNativeTest001 function start!");
55     shared_ptr<PowerModeModule> powerModeModuleTest = make_shared<PowerModeModule>();
56     powerModeModuleTest->mode_ = PowerMode::PERFORMANCE_MODE;
57     powerModeModuleTest->PublishPowerModeEvent();
58     powerModeModuleTest->mode_ = PowerMode::EXTREME_POWER_SAVE_MODE;
59     powerModeModuleTest->PublishPowerModeEvent();
60     powerModeModuleTest->mode_ = static_cast<PowerMode>(POWERMODE);
61     powerModeModuleTest->PublishPowerModeEvent();
62 
63     sptr<IPowerModeCallback> object = new PowerModeTestCallback();
64     powerModeModuleTest->AddPowerModeCallback(object);
65     powerModeModuleTest->Prepare();
66     powerModeModuleTest->AddPowerModeCallback(nullptr);
67     powerModeModuleTest->DelPowerModeCallback(object);
68     powerModeModuleTest->DelPowerModeCallback(nullptr);
69 
70     powerModeModuleTest->callbackMgr_ = nullptr;
71     powerModeModuleTest->Prepare();
72     powerModeModuleTest->AddPowerModeCallback(object);
73     powerModeModuleTest->DelPowerModeCallback(object);
74     powerModeModuleTest->started_ = true;
75     PowerMode mode = PowerMode::PERFORMANCE_MODE;
76     powerModeModuleTest->EnableMode(mode, true);
77 
78     powerModeModuleTest->mode_ = PowerMode::PERFORMANCE_MODE;
79     powerModeModuleTest->SetModeItem(mode);
80     EXPECT_EQ(mode, powerModeModuleTest->GetModeItem());
81     mode = static_cast<PowerMode>(POWERMODE);
82     powerModeModuleTest->SetModeItem(mode);
83     mode = static_cast<PowerMode>(POWERMODE2);
84     powerModeModuleTest->SetModeItem(mode);
85     mode = static_cast<PowerMode>(POWERMODE3);
86     powerModeModuleTest->SetModeItem(mode);
87 
88     shared_ptr<PowerModeModule::CallbackManager> powerModeModuleManager =
89                                             make_shared<PowerModeModule::CallbackManager>();
90     powerModeModuleManager->OnRemoteDied(nullptr);
91 
92     POWER_HILOGI(LABEL_TEST, "PowerModeModuleNativeTest001 function end!");
93     GTEST_LOG_(INFO) << "PowerModeModuleNativeTest001 end.";
94 }
95 
96 /**
97  * @tc.name: PowerModePolicyNativeTest001
98  * @tc.desc: test GetPowerMode in PowerModePolicy
99  * @tc.type: FUNC
100  */
101 HWTEST_F (PowerModeModuleNativeTest, PowerModePolicyNativeTest001, TestSize.Level1)
102 {
103     GTEST_LOG_(INFO) << "PowerModePolicyNativeTest001 start.";
104     POWER_HILOGI(LABEL_TEST, "PowerModePolicyNativeTest001 function start!");
105     PowerModePolicy *powerModePolicyTest = new PowerModePolicy();
106     EXPECT_TRUE(powerModePolicyTest->GetPowerModeValuePolicy(MODEITEM) == INIT_VALUE_FALSE);
107     EXPECT_TRUE(powerModePolicyTest->GetPolicyFromMap(MODEITEM) == INIT_VALUE_FALSE);
108     powerModePolicyTest->ReadPowerModePolicy(READODE);
109     powerModePolicyTest->ComparePowerModePolicy();
110     ModeActionPolicy action;
111     powerModePolicyTest->AddAction(MODEITEM, action);
112     POWER_HILOGI(LABEL_TEST, "PowerModePolicyNativeTest001 function end!");
113     GTEST_LOG_(INFO) << "PowerModePolicyNativeTest001 end.";
114 }
115 }
116