1e0dac50fSopenharmony_ci/*
2e0dac50fSopenharmony_ci * Copyright (c) 2022-2022 Huawei Device Co., Ltd.
3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License.
5e0dac50fSopenharmony_ci * You may obtain a copy of the License at
6e0dac50fSopenharmony_ci *
7e0dac50fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e0dac50fSopenharmony_ci *
9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and
13e0dac50fSopenharmony_ci * limitations under the License.
14e0dac50fSopenharmony_ci */
15e0dac50fSopenharmony_ci
16e0dac50fSopenharmony_ci#include <gtest/gtest.h>
17e0dac50fSopenharmony_ci#include "display_manager.h"
18e0dac50fSopenharmony_ci#include "display_manager_proxy.h"
19e0dac50fSopenharmony_ci#include "window.h"
20e0dac50fSopenharmony_ci#include "dm_common.h"
21e0dac50fSopenharmony_ci
22e0dac50fSopenharmony_ci#include "mock_display_manager_adapter.h"
23e0dac50fSopenharmony_ci#include "singleton_mocker.h"
24e0dac50fSopenharmony_ci#include "display_manager.cpp"
25e0dac50fSopenharmony_ci#include "window_scene.h"
26e0dac50fSopenharmony_ci#include "scene_board_judgement.h"
27e0dac50fSopenharmony_ci
28e0dac50fSopenharmony_ciusing namespace testing;
29e0dac50fSopenharmony_ciusing namespace testing::ext;
30e0dac50fSopenharmony_ci
31e0dac50fSopenharmony_cinamespace OHOS {
32e0dac50fSopenharmony_cinamespace Rosen {
33e0dac50fSopenharmony_ciusing Mocker = SingletonMocker<DisplayManagerAdapter, MockDisplayManagerAdapter>;
34e0dac50fSopenharmony_ciclass DmMockScreenshotListener : public DisplayManager::IScreenshotListener {
35e0dac50fSopenharmony_cipublic:
36e0dac50fSopenharmony_ci    void OnScreenshot(const ScreenshotInfo info) override {}
37e0dac50fSopenharmony_ci};
38e0dac50fSopenharmony_ciclass DmMockPrivateWindowListener : public DisplayManager::IPrivateWindowListener {
39e0dac50fSopenharmony_cipublic:
40e0dac50fSopenharmony_ci    void OnPrivateWindow([[maybe_unused]]bool) override {}
41e0dac50fSopenharmony_ci};
42e0dac50fSopenharmony_ciclass DmMockFoldAngleListener : public DisplayManager::IFoldAngleListener {
43e0dac50fSopenharmony_cipublic:
44e0dac50fSopenharmony_ci    void OnFoldAngleChanged([[maybe_unused]]std::vector<float>) override {}
45e0dac50fSopenharmony_ci};
46e0dac50fSopenharmony_ciclass DmMockCaptureStatusListener : public DisplayManager::ICaptureStatusListener {
47e0dac50fSopenharmony_cipublic:
48e0dac50fSopenharmony_ci    void  OnCaptureStatusChanged([[maybe_unused]]bool) override {}
49e0dac50fSopenharmony_ci};
50e0dac50fSopenharmony_ciclass DmMockDisplayListener : public DisplayManager::IDisplayListener {
51e0dac50fSopenharmony_cipublic:
52e0dac50fSopenharmony_ci    void OnCreate(DisplayId) override {}
53e0dac50fSopenharmony_ci    void OnDestroy(DisplayId) override {}
54e0dac50fSopenharmony_ci    void OnChange(DisplayId) override {}
55e0dac50fSopenharmony_ci};
56e0dac50fSopenharmony_ciclass DmMockDisplayPowerEventListener : public IDisplayPowerEventListener {
57e0dac50fSopenharmony_cipublic:
58e0dac50fSopenharmony_ci    void OnDisplayPowerEvent(DisplayPowerEvent, EventStatus) override {}
59e0dac50fSopenharmony_ci};
60e0dac50fSopenharmony_ci
61e0dac50fSopenharmony_ciclass DisplayManagerTest : public testing::Test {
62e0dac50fSopenharmony_cipublic:
63e0dac50fSopenharmony_ci    static void SetUpTestCase();
64e0dac50fSopenharmony_ci    static void TearDownTestCase();
65e0dac50fSopenharmony_ci    virtual void SetUp() override;
66e0dac50fSopenharmony_ci    virtual void TearDown() override;
67e0dac50fSopenharmony_ci};
68e0dac50fSopenharmony_ci
69e0dac50fSopenharmony_civoid DisplayManagerTest::SetUpTestCase()
70e0dac50fSopenharmony_ci{
71e0dac50fSopenharmony_ci}
72e0dac50fSopenharmony_ci
73e0dac50fSopenharmony_civoid DisplayManagerTest::TearDownTestCase()
74e0dac50fSopenharmony_ci{
75e0dac50fSopenharmony_ci}
76e0dac50fSopenharmony_ci
77e0dac50fSopenharmony_civoid DisplayManagerTest::SetUp()
78e0dac50fSopenharmony_ci{
79e0dac50fSopenharmony_ci}
80e0dac50fSopenharmony_ci
81e0dac50fSopenharmony_civoid DisplayManagerTest::TearDown()
82e0dac50fSopenharmony_ci{
83e0dac50fSopenharmony_ci}
84e0dac50fSopenharmony_ci
85e0dac50fSopenharmony_cinamespace {
86e0dac50fSopenharmony_ci/**
87e0dac50fSopenharmony_ci * @tc.name: Freeze01
88e0dac50fSopenharmony_ci * @tc.desc: success
89e0dac50fSopenharmony_ci * @tc.type: FUNC
90e0dac50fSopenharmony_ci */
91e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze01, Function | SmallTest | Level1)
92e0dac50fSopenharmony_ci{
93e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
94e0dac50fSopenharmony_ci    displayIds.push_back(0);
95e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Freeze(displayIds);
96e0dac50fSopenharmony_ci    if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
97e0dac50fSopenharmony_ci        ASSERT_TRUE(ret);
98e0dac50fSopenharmony_ci    } else {
99e0dac50fSopenharmony_ci        ASSERT_FALSE(ret);
100e0dac50fSopenharmony_ci    }
101e0dac50fSopenharmony_ci}
102e0dac50fSopenharmony_ci
103e0dac50fSopenharmony_ci/**
104e0dac50fSopenharmony_ci * @tc.name: Freeze02
105e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds exceed the maximum
106e0dac50fSopenharmony_ci * @tc.type: FUNC
107e0dac50fSopenharmony_ci */
108e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze02, Function | SmallTest | Level1)
109e0dac50fSopenharmony_ci{
110e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
111e0dac50fSopenharmony_ci    for (uint32_t i = 0; i < 33; i++) { // MAX_DISPLAY_SIZE + 1
112e0dac50fSopenharmony_ci        displayIds.push_back(i);
113e0dac50fSopenharmony_ci    }
114e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Freeze(displayIds);
115e0dac50fSopenharmony_ci    if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
116e0dac50fSopenharmony_ci        ASSERT_FALSE(ret);
117e0dac50fSopenharmony_ci    }
118e0dac50fSopenharmony_ci}
119e0dac50fSopenharmony_ci
120e0dac50fSopenharmony_ci/**
121e0dac50fSopenharmony_ci * @tc.name: Freeze03
122e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds empty
123e0dac50fSopenharmony_ci * @tc.type: FUNC
124e0dac50fSopenharmony_ci */
125e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze03, Function | SmallTest | Level1)
126e0dac50fSopenharmony_ci{
127e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
128e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Freeze(displayIds);
129e0dac50fSopenharmony_ci    if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
130e0dac50fSopenharmony_ci        ASSERT_FALSE(ret);
131e0dac50fSopenharmony_ci    }
132e0dac50fSopenharmony_ci}
133e0dac50fSopenharmony_ci
134e0dac50fSopenharmony_ci/**
135e0dac50fSopenharmony_ci * @tc.name: Unfreeze01
136e0dac50fSopenharmony_ci * @tc.desc: success
137e0dac50fSopenharmony_ci * @tc.type: FUNC
138e0dac50fSopenharmony_ci */
139e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze01, Function | SmallTest | Level1)
140e0dac50fSopenharmony_ci{
141e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
142e0dac50fSopenharmony_ci    displayIds.push_back(0);
143e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Unfreeze(displayIds);
144e0dac50fSopenharmony_ci    if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
145e0dac50fSopenharmony_ci        ASSERT_TRUE(ret);
146e0dac50fSopenharmony_ci    } else {
147e0dac50fSopenharmony_ci        ASSERT_FALSE(ret);
148e0dac50fSopenharmony_ci    }
149e0dac50fSopenharmony_ci}
150e0dac50fSopenharmony_ci
151e0dac50fSopenharmony_ci/**
152e0dac50fSopenharmony_ci * @tc.name: Unfreeze02
153e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds exceed the maximum
154e0dac50fSopenharmony_ci * @tc.type: FUNC
155e0dac50fSopenharmony_ci */
156e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze02, Function | SmallTest | Level1)
157e0dac50fSopenharmony_ci{
158e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
159e0dac50fSopenharmony_ci    for (uint32_t i = 0; i < 33; i++) { // MAX_DISPLAY_SIZE + 1
160e0dac50fSopenharmony_ci        displayIds.push_back(i);
161e0dac50fSopenharmony_ci    }
162e0dac50fSopenharmony_ci
163e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Unfreeze(displayIds);
164e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
165e0dac50fSopenharmony_ci}
166e0dac50fSopenharmony_ci
167e0dac50fSopenharmony_ci/**
168e0dac50fSopenharmony_ci * @tc.name: Unfreeze03
169e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds empty
170e0dac50fSopenharmony_ci * @tc.type: FUNC
171e0dac50fSopenharmony_ci */
172e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze03, Function | SmallTest | Level1)
173e0dac50fSopenharmony_ci{
174e0dac50fSopenharmony_ci    std::vector<DisplayId> displayIds;
175e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().Unfreeze(displayIds);
176e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
177e0dac50fSopenharmony_ci}
178e0dac50fSopenharmony_ci
179e0dac50fSopenharmony_ci/**
180e0dac50fSopenharmony_ci * @tc.name: RegisterScreenshotListener01
181e0dac50fSopenharmony_ci * @tc.desc: test RegisterScreenshotListener with null listener
182e0dac50fSopenharmony_ci * @tc.type: FUNC
183e0dac50fSopenharmony_ci */
184e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterScreenshotListener01, Function | SmallTest | Level1)
185e0dac50fSopenharmony_ci{
186e0dac50fSopenharmony_ci    DMError ret = DisplayManager::GetInstance().RegisterScreenshotListener(nullptr);
187e0dac50fSopenharmony_ci    ASSERT_FALSE(DMError::DM_OK == ret);
188e0dac50fSopenharmony_ci}
189e0dac50fSopenharmony_ci
190e0dac50fSopenharmony_ci/**
191e0dac50fSopenharmony_ci * @tc.name: RegisterScreenshotListener02
192e0dac50fSopenharmony_ci * @tc.desc: test RegisterScreenshotListener with null listener
193e0dac50fSopenharmony_ci * @tc.type: FUNC
194e0dac50fSopenharmony_ci */
195e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterScreenshotListener02, Function | SmallTest | Level1)
196e0dac50fSopenharmony_ci{
197e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
198e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_NULLPTR));
199e0dac50fSopenharmony_ci    sptr<DisplayManager::IScreenshotListener> listener = new DmMockScreenshotListener();
200e0dac50fSopenharmony_ci    DMError ret = DisplayManager::GetInstance().RegisterScreenshotListener(listener);
201e0dac50fSopenharmony_ci    ASSERT_FALSE(DMError::DM_OK == ret);
202e0dac50fSopenharmony_ci}
203e0dac50fSopenharmony_ci
204e0dac50fSopenharmony_ci/**
205e0dac50fSopenharmony_ci * @tc.name: UnregisterScreenshotListener01
206e0dac50fSopenharmony_ci * @tc.desc: test UnregisterScreenshotListener with null listener
207e0dac50fSopenharmony_ci * @tc.type: FUNC
208e0dac50fSopenharmony_ci */
209e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterScreenshotListener01, Function | SmallTest | Level1)
210e0dac50fSopenharmony_ci{
211e0dac50fSopenharmony_ci    DMError ret = DisplayManager::GetInstance().UnregisterScreenshotListener(nullptr);
212e0dac50fSopenharmony_ci    ASSERT_FALSE(DMError::DM_OK == ret);
213e0dac50fSopenharmony_ci}
214e0dac50fSopenharmony_ci
215e0dac50fSopenharmony_ci/**
216e0dac50fSopenharmony_ci * @tc.name: UnregisterScreenshotListener02
217e0dac50fSopenharmony_ci * @tc.desc: test UnregisterScreenshotListener with null listener
218e0dac50fSopenharmony_ci * @tc.type: FUNC
219e0dac50fSopenharmony_ci */
220e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterScreenshotListener02, Function | SmallTest | Level1)
221e0dac50fSopenharmony_ci{
222e0dac50fSopenharmony_ci    sptr<DisplayManager::IScreenshotListener> listener = new DmMockScreenshotListener();
223e0dac50fSopenharmony_ci    DMError ret = DisplayManager::GetInstance().UnregisterScreenshotListener(listener);
224e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
225e0dac50fSopenharmony_ci}
226e0dac50fSopenharmony_ci
227e0dac50fSopenharmony_ci/**
228e0dac50fSopenharmony_ci * @tc.name: OnDisplayCreate01
229e0dac50fSopenharmony_ci * @tc.desc: OnDisplayCreate
230e0dac50fSopenharmony_ci * @tc.type: FUNC
231e0dac50fSopenharmony_ci */
232e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnDisplayCreate01, Function | SmallTest | Level1)
233e0dac50fSopenharmony_ci{
234e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
235e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
236e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
237e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayListener(listener);
238e0dac50fSopenharmony_ci    auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_;
239e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener, nullptr);
240e0dac50fSopenharmony_ci    displayManagerListener->OnDisplayCreate(nullptr);
241e0dac50fSopenharmony_ci    sptr<DisplayInfo> displayInfo = new DisplayInfo();
242e0dac50fSopenharmony_ci    displayInfo->SetDisplayId(DISPLAY_ID_INVALID);
243e0dac50fSopenharmony_ci    displayManagerListener->OnDisplayCreate(displayInfo);
244e0dac50fSopenharmony_ci    displayInfo->SetDisplayId(0);
245e0dac50fSopenharmony_ci    displayManagerListener->OnDisplayCreate(displayInfo);
246e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener->pImpl_, nullptr);
247e0dac50fSopenharmony_ci    displayManagerListener->pImpl_ = nullptr;
248e0dac50fSopenharmony_ci    displayManagerListener->OnDisplayCreate(displayInfo);
249e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr;
250e0dac50fSopenharmony_ci}
251e0dac50fSopenharmony_ci
252e0dac50fSopenharmony_ci/**
253e0dac50fSopenharmony_ci * @tc.name: CheckRectValid
254e0dac50fSopenharmony_ci * @tc.desc: CheckRectValid all
255e0dac50fSopenharmony_ci * @tc.type: FUNC
256e0dac50fSopenharmony_ci */
257e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, CheckRectValid, Function | SmallTest | Level1)
258e0dac50fSopenharmony_ci{
259e0dac50fSopenharmony_ci    int32_t oriHeight = 500;
260e0dac50fSopenharmony_ci    int32_t oriWidth = 500;
261e0dac50fSopenharmony_ci    Media::Rect rect = {.left = 1, .top = 1, .width = 1, .height = 1};
262e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
263e0dac50fSopenharmony_ci    ASSERT_TRUE(ret);
264e0dac50fSopenharmony_ci    rect.left = -1;
265e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
266e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
267e0dac50fSopenharmony_ci    rect.left = 1;
268e0dac50fSopenharmony_ci    rect.top = -1;
269e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
270e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
271e0dac50fSopenharmony_ci    rect.top = 1;
272e0dac50fSopenharmony_ci    rect.width = -1;
273e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
274e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
275e0dac50fSopenharmony_ci    rect.width = 1;
276e0dac50fSopenharmony_ci    rect.height = -1;
277e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
278e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
279e0dac50fSopenharmony_ci    rect.width = 500;
280e0dac50fSopenharmony_ci    rect.height = 1;
281e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
282e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
283e0dac50fSopenharmony_ci    rect.width = 1;
284e0dac50fSopenharmony_ci    rect.height = 500;
285e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth);
286e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
287e0dac50fSopenharmony_ci}
288e0dac50fSopenharmony_ci
289e0dac50fSopenharmony_ci/**
290e0dac50fSopenharmony_ci * @tc.name: CheckSizeValid
291e0dac50fSopenharmony_ci * @tc.desc: CheckSizeValid all
292e0dac50fSopenharmony_ci * @tc.type: FUNC
293e0dac50fSopenharmony_ci */
294e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, CheckSizeValid, Function | SmallTest | Level1)
295e0dac50fSopenharmony_ci{
296e0dac50fSopenharmony_ci    int32_t oriHeight = 500;
297e0dac50fSopenharmony_ci    int32_t oriWidth = 500;
298e0dac50fSopenharmony_ci    Media::Size size = {.width = 1, .height = 1};
299e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth);
300e0dac50fSopenharmony_ci    ASSERT_TRUE(ret);
301e0dac50fSopenharmony_ci    size.width = -1;
302e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth);
303e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
304e0dac50fSopenharmony_ci    size.width = 1;
305e0dac50fSopenharmony_ci    size.height = -1;
306e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth);
307e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
308e0dac50fSopenharmony_ci    size.width = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT + 1;
309e0dac50fSopenharmony_ci    size.height = 1;
310e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth);
311e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
312e0dac50fSopenharmony_ci    size.width = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT;
313e0dac50fSopenharmony_ci    size.height = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT + 1;
314e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth);
315e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
316e0dac50fSopenharmony_ci}
317e0dac50fSopenharmony_ci
318e0dac50fSopenharmony_ci/**
319e0dac50fSopenharmony_ci * @tc.name: ImplGetDefaultDisplay01
320e0dac50fSopenharmony_ci * @tc.desc: Impl GetDefaultDisplay nullptr
321e0dac50fSopenharmony_ci * @tc.type: FUNC
322e0dac50fSopenharmony_ci */
323e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplGetDefaultDisplay01, Function | SmallTest | Level1)
324e0dac50fSopenharmony_ci{
325e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
326e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), GetDefaultDisplayInfo()).Times(1).WillOnce(Return(nullptr));
327e0dac50fSopenharmony_ci    sptr<Display> display = DisplayManager::GetInstance().pImpl_->GetDefaultDisplay();
328e0dac50fSopenharmony_ci    ASSERT_EQ(display, nullptr);
329e0dac50fSopenharmony_ci}
330e0dac50fSopenharmony_ci
331e0dac50fSopenharmony_ci/**
332e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreen
333e0dac50fSopenharmony_ci * @tc.desc: for interface coverage & check GetDisplayByScreen
334e0dac50fSopenharmony_ci * @tc.type: FUNC
335e0dac50fSopenharmony_ci */
336e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreen, Function | SmallTest | Level1)
337e0dac50fSopenharmony_ci{
338e0dac50fSopenharmony_ci    auto& displayManager = DisplayManager::GetInstance();
339e0dac50fSopenharmony_ci    sptr<Display> display = displayManager.GetDisplayByScreen(SCREEN_ID_INVALID);
340e0dac50fSopenharmony_ci    ASSERT_EQ(display, nullptr);
341e0dac50fSopenharmony_ci
342e0dac50fSopenharmony_ci    sptr<DisplayInfo> displayInfo = new DisplayInfo();
343e0dac50fSopenharmony_ci    displayInfo->SetDisplayId(DISPLAY_ID_INVALID);
344e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
345e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), GetDisplayInfoByScreenId(_)).Times(1).WillOnce(Return(displayInfo));
346e0dac50fSopenharmony_ci    display = displayManager.GetDisplayByScreen(1);
347e0dac50fSopenharmony_ci    ASSERT_EQ(display, nullptr);
348e0dac50fSopenharmony_ci}
349e0dac50fSopenharmony_ci
350e0dac50fSopenharmony_ci/**
351e0dac50fSopenharmony_ci * @tc.name: ImplGetDefaultDisplaySync
352e0dac50fSopenharmony_ci * @tc.desc: Impl GetDefaultDisplaySync nullptr
353e0dac50fSopenharmony_ci * @tc.type: FUNC
354e0dac50fSopenharmony_ci */
355e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplGetDefaultDisplaySync, Function | SmallTest | Level1)
356e0dac50fSopenharmony_ci{
357e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
358e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), GetDefaultDisplayInfo()).Times(6).WillRepeatedly(Return(nullptr));
359e0dac50fSopenharmony_ci    sptr<Display> display = DisplayManager::GetInstance().GetDefaultDisplaySync();
360e0dac50fSopenharmony_ci    ASSERT_EQ(display, nullptr);
361e0dac50fSopenharmony_ci}
362e0dac50fSopenharmony_ci
363e0dac50fSopenharmony_ci/**
364e0dac50fSopenharmony_ci * @tc.name: GetScreenBrightness
365e0dac50fSopenharmony_ci * @tc.desc: GetScreenBrightness fun
366e0dac50fSopenharmony_ci * @tc.type: FUNC
367e0dac50fSopenharmony_ci */
368e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetScreenBrightness, Function | SmallTest | Level1)
369e0dac50fSopenharmony_ci{
370e0dac50fSopenharmony_ci    uint64_t screenId = 2;
371e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().GetScreenBrightness(screenId);
372e0dac50fSopenharmony_ci    ASSERT_FALSE(ret == 1);
373e0dac50fSopenharmony_ci}
374e0dac50fSopenharmony_ci
375e0dac50fSopenharmony_ci/**
376e0dac50fSopenharmony_ci * @tc.name: GetDisplayById
377e0dac50fSopenharmony_ci * @tc.desc: GetDisplayById fun
378e0dac50fSopenharmony_ci * @tc.type: FUNC
379e0dac50fSopenharmony_ci */
380e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayById, Function | SmallTest | Level1)
381e0dac50fSopenharmony_ci{
382e0dac50fSopenharmony_ci    DisplayId displayId = -1;
383e0dac50fSopenharmony_ci    g_dmIsDestroyed = true;
384e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().GetDisplayById(displayId);
385e0dac50fSopenharmony_ci    ASSERT_EQ(ret, nullptr);
386e0dac50fSopenharmony_ci}
387e0dac50fSopenharmony_ci
388e0dac50fSopenharmony_ci/**
389e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListener
390e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListener fun
391e0dac50fSopenharmony_ci * @tc.type: FUNC
392e0dac50fSopenharmony_ci */
393e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListener01, Function | SmallTest | Level1)
394e0dac50fSopenharmony_ci{
395e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListener> listener;
396e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListener(listener);
397e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
398e0dac50fSopenharmony_ci}
399e0dac50fSopenharmony_ci
400e0dac50fSopenharmony_ci/**
401e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListener
402e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListener fun
403e0dac50fSopenharmony_ci * @tc.type: FUNC
404e0dac50fSopenharmony_ci */
405e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListener02, Function | SmallTest | Level1)
406e0dac50fSopenharmony_ci{
407e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
408e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
409e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListener> listener = new DmMockPrivateWindowListener();
410e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListener(listener);
411e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
412e0dac50fSopenharmony_ci}
413e0dac50fSopenharmony_ci
414e0dac50fSopenharmony_ci/**
415e0dac50fSopenharmony_ci * @tc.name: UnregisterPrivateWindowListener
416e0dac50fSopenharmony_ci * @tc.desc: UnregisterPrivateWindowListener fun
417e0dac50fSopenharmony_ci * @tc.type: FUNC
418e0dac50fSopenharmony_ci */
419e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterPrivateWindowListener, Function | SmallTest | Level1)
420e0dac50fSopenharmony_ci{
421e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListener> listener = nullptr;
422e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
423e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterPrivateWindowListener(listener);
424e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
425e0dac50fSopenharmony_ci}
426e0dac50fSopenharmony_ci
427e0dac50fSopenharmony_ci/**
428e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterPrivateWindowListener
429e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterPrivateWindowListener fun
430e0dac50fSopenharmony_ci * @tc.type: FUNC
431e0dac50fSopenharmony_ci */
432e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterPrivateWindowListener, Function | SmallTest | Level1)
433e0dac50fSopenharmony_ci{
434e0dac50fSopenharmony_ci    std::recursive_mutex mutex;
435e0dac50fSopenharmony_ci    DisplayManager::Impl impl(mutex);
436e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListener> listener;
437e0dac50fSopenharmony_ci    auto ret = impl.UnregisterPrivateWindowListener(listener);
438e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
439e0dac50fSopenharmony_ci}
440e0dac50fSopenharmony_ci
441e0dac50fSopenharmony_ci/**
442e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListChangeListener
443e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListChangeListener fun
444e0dac50fSopenharmony_ci * @tc.type: FUNC
445e0dac50fSopenharmony_ci */
446e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListChangeListener, Function | SmallTest | Level1)
447e0dac50fSopenharmony_ci{
448e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListChangeListener> listener;
449e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListChangeListener(listener);
450e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
451e0dac50fSopenharmony_ci    listener = new DisplayManager::IPrivateWindowListChangeListener();
452e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterPrivateWindowListChangeListener(listener);
453e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener));
454e0dac50fSopenharmony_ci    listener.clear();
455e0dac50fSopenharmony_ci}
456e0dac50fSopenharmony_ci
457e0dac50fSopenharmony_ci/**
458e0dac50fSopenharmony_ci * @tc.name: UnregisterPrivateWindowListChangeListener
459e0dac50fSopenharmony_ci * @tc.desc: UnregisterPrivateWindowListChangeListener fun
460e0dac50fSopenharmony_ci * @tc.type: FUNC
461e0dac50fSopenharmony_ci */
462e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterPrivateWindowListChangeListener, Function | SmallTest | Level1)
463e0dac50fSopenharmony_ci{
464e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListChangeListener> listener = nullptr;
465e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterPrivateWindowListChangeListener(listener);
466e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
467e0dac50fSopenharmony_ci    listener = new DisplayManager::IPrivateWindowListChangeListener();
468e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterPrivateWindowListChangeListener(listener);
469e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterPrivateWindowListChangeListener(listener));
470e0dac50fSopenharmony_ci    listener.clear();
471e0dac50fSopenharmony_ci}
472e0dac50fSopenharmony_ci
473e0dac50fSopenharmony_ci/**
474e0dac50fSopenharmony_ci * @tc.name: ImplRegisterPrivateWindowListChangeListener
475e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterPrivateWindowListChangeListener fun
476e0dac50fSopenharmony_ci * @tc.type: FUNC
477e0dac50fSopenharmony_ci */
478e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterPrivateWindowListChangeListener01, Function | SmallTest | Level1)
479e0dac50fSopenharmony_ci{
480e0dac50fSopenharmony_ci    std::recursive_mutex mutex;
481e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
482e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListChangeListener> listener;
483e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->privateWindowListChangeListenerAgent_ = nullptr;
484e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerPrivateWindowListAgent> privateWindowListChangeListenerAgent =
485e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerPrivateWindowListAgent(impl_);
486e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener);
487e0dac50fSopenharmony_ci    ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent(
488e0dac50fSopenharmony_ci            privateWindowListChangeListenerAgent,
489e0dac50fSopenharmony_ci            DisplayManagerAgentType::PRIVATE_WINDOW_LIST_LISTENER));
490e0dac50fSopenharmony_ci    listener = nullptr;
491e0dac50fSopenharmony_ci    privateWindowListChangeListenerAgent.clear();
492e0dac50fSopenharmony_ci}
493e0dac50fSopenharmony_ci
494e0dac50fSopenharmony_ci/**
495e0dac50fSopenharmony_ci * @tc.name: ImplRegisterPrivateWindowListChangeListener
496e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterPrivateWindowListChangeListener fun
497e0dac50fSopenharmony_ci * @tc.type: FUNC
498e0dac50fSopenharmony_ci */
499e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterPrivateWindowListChangeListener02, Function | SmallTest | Level1)
500e0dac50fSopenharmony_ci{
501e0dac50fSopenharmony_ci    std::recursive_mutex mutex;
502e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
503e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
504e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
505e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListChangeListener> listener;
506e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->privateWindowListChangeListenerAgent_ = nullptr;
507e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerPrivateWindowListAgent> privateWindowListChangeListenerAgent =
508e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerPrivateWindowListAgent(impl_);
509e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener);
510e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
511e0dac50fSopenharmony_ci    listener = nullptr;
512e0dac50fSopenharmony_ci    privateWindowListChangeListenerAgent.clear();
513e0dac50fSopenharmony_ci}
514e0dac50fSopenharmony_ci
515e0dac50fSopenharmony_ci/**
516e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterPrivateWindowListChangeListener
517e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterPrivateWindowListChangeListener fun
518e0dac50fSopenharmony_ci * @tc.type: FUNC
519e0dac50fSopenharmony_ci */
520e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterPrivateWindowListChangeListener, Function | SmallTest | Level1)
521e0dac50fSopenharmony_ci{
522e0dac50fSopenharmony_ci    std::recursive_mutex mutex;
523e0dac50fSopenharmony_ci    DisplayManager::Impl impl(mutex);
524e0dac50fSopenharmony_ci    sptr<DisplayManager::IPrivateWindowListChangeListener> listener;
525e0dac50fSopenharmony_ci    auto ret = impl.UnregisterPrivateWindowListChangeListener(listener);
526e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
527e0dac50fSopenharmony_ci}
528e0dac50fSopenharmony_ci
529e0dac50fSopenharmony_ci/**
530e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterFoldStatusListener
531e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterFoldStatusListener fun
532e0dac50fSopenharmony_ci * @tc.type: FUNC
533e0dac50fSopenharmony_ci */
534e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterFoldStatusListener, Function | SmallTest | Level1)
535e0dac50fSopenharmony_ci{
536e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldStatusListener> listener;
537e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->UnregisterFoldStatusListener(listener);
538e0dac50fSopenharmony_ci    ASSERT_NE(ret, DMError::DM_OK);
539e0dac50fSopenharmony_ci    listener.clear();
540e0dac50fSopenharmony_ci}
541e0dac50fSopenharmony_ci
542e0dac50fSopenharmony_ci/**
543e0dac50fSopenharmony_ci * @tc.name: RegisterFoldStatusListener
544e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldStatusListener fun
545e0dac50fSopenharmony_ci * @tc.type: FUNC
546e0dac50fSopenharmony_ci */
547e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldStatusListener, Function | SmallTest | Level1)
548e0dac50fSopenharmony_ci{
549e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldStatusListener> listener;
550e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterFoldStatusListener(listener);
551e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
552e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldStatusListener();
553e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterFoldStatusListener(listener);
554e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldStatusListener(listener));
555e0dac50fSopenharmony_ci    listener.clear();
556e0dac50fSopenharmony_ci}
557e0dac50fSopenharmony_ci
558e0dac50fSopenharmony_ci/**
559e0dac50fSopenharmony_ci * @tc.name: ImplRegisterFoldStatusListener
560e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterFoldStatusListener fun
561e0dac50fSopenharmony_ci * @tc.type: FUNC
562e0dac50fSopenharmony_ci */
563e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterFoldStatusListener, Function | SmallTest | Level1)
564e0dac50fSopenharmony_ci{
565e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldStatusListener> listener;
566e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
567e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ = nullptr;
568e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerFoldStatusAgent> foldStatusListenerAgent =
569e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerFoldStatusAgent(impl_);
570e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->RegisterFoldStatusListener(listener);
571e0dac50fSopenharmony_ci    ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent(
572e0dac50fSopenharmony_ci            foldStatusListenerAgent,
573e0dac50fSopenharmony_ci            DisplayManagerAgentType::FOLD_STATUS_CHANGED_LISTENER));
574e0dac50fSopenharmony_ci    listener = nullptr;
575e0dac50fSopenharmony_ci    foldStatusListenerAgent.clear();
576e0dac50fSopenharmony_ci}
577e0dac50fSopenharmony_ci
578e0dac50fSopenharmony_ci/**
579e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldStatusListener
580e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldStatusListener fun
581e0dac50fSopenharmony_ci * @tc.type: FUNC
582e0dac50fSopenharmony_ci */
583e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldStatusListener, Function | SmallTest | Level1)
584e0dac50fSopenharmony_ci{
585e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldStatusListener> listener;
586e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldStatusListener(listener);
587e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
588e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldStatusListener();
589e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterFoldStatusListener(listener);
590e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldStatusListener(listener));
591e0dac50fSopenharmony_ci    listener.clear();
592e0dac50fSopenharmony_ci}
593e0dac50fSopenharmony_ci
594e0dac50fSopenharmony_ci/**
595e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayModeListener
596e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayModeListener fun
597e0dac50fSopenharmony_ci * @tc.type: FUNC
598e0dac50fSopenharmony_ci */
599e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayModeListener, Function | SmallTest | Level1)
600e0dac50fSopenharmony_ci{
601e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener;
602e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterDisplayModeListener(listener);
603e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
604e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayModeListener();
605e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterDisplayModeListener(listener);
606e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayModeListener(listener));
607e0dac50fSopenharmony_ci    listener.clear();
608e0dac50fSopenharmony_ci}
609e0dac50fSopenharmony_ci
610e0dac50fSopenharmony_ci/**
611e0dac50fSopenharmony_ci * @tc.name: ImplRegisterDisplayModeListener
612e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterDisplayModeListener fun
613e0dac50fSopenharmony_ci * @tc.type: FUNC
614e0dac50fSopenharmony_ci */
615e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterDisplayModeListener, Function | SmallTest | Level1)
616e0dac50fSopenharmony_ci{
617e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener;
618e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr;
619e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
620e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent =
621e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_);
622e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->RegisterDisplayModeListener(listener);
623e0dac50fSopenharmony_ci    ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent(
624e0dac50fSopenharmony_ci            displayModeListenerAgent,
625e0dac50fSopenharmony_ci            DisplayManagerAgentType::DISPLAY_MODE_CHANGED_LISTENER));
626e0dac50fSopenharmony_ci    listener.clear();
627e0dac50fSopenharmony_ci    displayModeListenerAgent.clear();
628e0dac50fSopenharmony_ci}
629e0dac50fSopenharmony_ci
630e0dac50fSopenharmony_ci/**
631e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayModeListener
632e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayModeListener fun
633e0dac50fSopenharmony_ci * @tc.type: FUNC
634e0dac50fSopenharmony_ci */
635e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayModeListener, Function | SmallTest | Level1)
636e0dac50fSopenharmony_ci{
637e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener;
638e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterDisplayModeListener(listener);
639e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
640e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayModeListener();
641e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterDisplayModeListener(listener);
642e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayModeListener(listener));
643e0dac50fSopenharmony_ci    listener.clear();
644e0dac50fSopenharmony_ci}
645e0dac50fSopenharmony_ci
646e0dac50fSopenharmony_ci/**
647e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterDisplayModeListener
648e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterDisplayModeListener fun
649e0dac50fSopenharmony_ci * @tc.type: FUNC
650e0dac50fSopenharmony_ci */
651e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterDisplayModeListener, Function | SmallTest | Level1)
652e0dac50fSopenharmony_ci{
653e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener;
654e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->UnregisterDisplayModeListener(listener);
655e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
656e0dac50fSopenharmony_ci    listener.clear();
657e0dac50fSopenharmony_ci}
658e0dac50fSopenharmony_ci
659e0dac50fSopenharmony_ci/**
660e0dac50fSopenharmony_ci * @tc.name: OnDisplayCreate02
661e0dac50fSopenharmony_ci * @tc.desc: OnDisplayCreate
662e0dac50fSopenharmony_ci * @tc.type: FUNC
663e0dac50fSopenharmony_ci */
664e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnDisplayCreate02, Function | SmallTest | Level1)
665e0dac50fSopenharmony_ci{
666e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
667e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
668e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
669e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayListener(listener);
670e0dac50fSopenharmony_ci    auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_;
671e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener, nullptr);
672e0dac50fSopenharmony_ci
673e0dac50fSopenharmony_ci    sptr<DisplayInfo> displayInfo = nullptr;
674e0dac50fSopenharmony_ci    displayManagerListener->OnDisplayCreate(displayInfo);
675e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener->pImpl_, nullptr);
676e0dac50fSopenharmony_ci}
677e0dac50fSopenharmony_ci
678e0dac50fSopenharmony_ci/**
679e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayListener
680e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayListener fun
681e0dac50fSopenharmony_ci * @tc.type: FUNC
682e0dac50fSopenharmony_ci */
683e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayListener, Function | SmallTest | Level1)
684e0dac50fSopenharmony_ci{
685e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
686e0dac50fSopenharmony_ci    bool hasPrivate = true;
687e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->NotifyPrivateWindowStateChanged(hasPrivate);
688e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterDisplayListener(listener);
689e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
690e0dac50fSopenharmony_ci}
691e0dac50fSopenharmony_ci
692e0dac50fSopenharmony_ci/**
693e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayListener
694e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayListener fun
695e0dac50fSopenharmony_ci * @tc.type: FUNC
696e0dac50fSopenharmony_ci */
697e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayListener, Function | SmallTest | Level1)
698e0dac50fSopenharmony_ci{
699e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
700e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
701e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterDisplayListener(listener);
702e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
703e0dac50fSopenharmony_ci}
704e0dac50fSopenharmony_ci
705e0dac50fSopenharmony_ci/**
706e0dac50fSopenharmony_ci * @tc.name: HasPrivateWindow
707e0dac50fSopenharmony_ci * @tc.desc: HasPrivateWindow fun
708e0dac50fSopenharmony_ci * @tc.type: FUNC
709e0dac50fSopenharmony_ci */
710e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, HasPrivateWindow, Function | SmallTest | Level1)
711e0dac50fSopenharmony_ci{
712e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
713e0dac50fSopenharmony_ci    bool hasPrivateWindow = false;
714e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().HasPrivateWindow(0, hasPrivateWindow);
715e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
716e0dac50fSopenharmony_ci}
717e0dac50fSopenharmony_ci
718e0dac50fSopenharmony_ci/**
719e0dac50fSopenharmony_ci * @tc.name: HasPrivateWindow02
720e0dac50fSopenharmony_ci * @tc.desc: HasPrivateWindow fun
721e0dac50fSopenharmony_ci * @tc.type: FUNC
722e0dac50fSopenharmony_ci */
723e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, HasPrivateWindow02, Function | SmallTest | Level1)
724e0dac50fSopenharmony_ci{
725e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
726e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
727e0dac50fSopenharmony_ci    bool hasPrivateWindow = false;
728e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->HasPrivateWindow(0, hasPrivateWindow);
729e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
730e0dac50fSopenharmony_ci}
731e0dac50fSopenharmony_ci
732e0dac50fSopenharmony_ci/**
733e0dac50fSopenharmony_ci * @tc.name: IsFoldable
734e0dac50fSopenharmony_ci * @tc.desc: IsFoldable all
735e0dac50fSopenharmony_ci * @tc.type: FUNC
736e0dac50fSopenharmony_ci */
737e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsFoldable, Function | SmallTest | Level1)
738e0dac50fSopenharmony_ci{
739e0dac50fSopenharmony_ci    bool ret = DisplayManager::GetInstance().IsFoldable();
740e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
741e0dac50fSopenharmony_ci}
742e0dac50fSopenharmony_ci
743e0dac50fSopenharmony_ci/**
744e0dac50fSopenharmony_ci * @tc.name: IsFoldable
745e0dac50fSopenharmony_ci * @tc.desc: IsFoldable fun
746e0dac50fSopenharmony_ci * @tc.type: FUNC
747e0dac50fSopenharmony_ci */
748e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsFoldable01, Function | SmallTest | Level1)
749e0dac50fSopenharmony_ci{
750e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
751e0dac50fSopenharmony_ci    FoldDisplayMode mode = FoldDisplayMode{0};
752e0dac50fSopenharmony_ci    DisplayManager::GetInstance().SetFoldDisplayMode(mode);
753e0dac50fSopenharmony_ci    DisplayManager::GetInstance().SetFoldStatusLocked(false);
754e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
755e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->IsFoldable();
756e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
757e0dac50fSopenharmony_ci}
758e0dac50fSopenharmony_ci
759e0dac50fSopenharmony_ci/**
760e0dac50fSopenharmony_ci * @tc.name: AddSurfaceNodeToDisplay
761e0dac50fSopenharmony_ci * @tc.desc: AddSurfaceNodeToDisplay fun
762e0dac50fSopenharmony_ci * @tc.type: FUNC
763e0dac50fSopenharmony_ci */
764e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, AddSurfaceNodeToDisplay, Function | SmallTest | Level1)
765e0dac50fSopenharmony_ci{
766e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
767e0dac50fSopenharmony_ci    std::shared_ptr<class RSSurfaceNode> surfaceNode;
768e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().AddSurfaceNodeToDisplay(0, surfaceNode);
769e0dac50fSopenharmony_ci    if (SceneBoardJudgement::IsSceneBoardEnabled()) {
770e0dac50fSopenharmony_ci        ASSERT_NE(ret, DMError::DM_ERROR_IPC_FAILED);
771e0dac50fSopenharmony_ci    } else {
772e0dac50fSopenharmony_ci        ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
773e0dac50fSopenharmony_ci    }
774e0dac50fSopenharmony_ci}
775e0dac50fSopenharmony_ci
776e0dac50fSopenharmony_ci/**
777e0dac50fSopenharmony_ci * @tc.name: RemoveSurfaceNodeFromDisplay
778e0dac50fSopenharmony_ci * @tc.desc: RemoveSurfaceNodeFromDisplay fun
779e0dac50fSopenharmony_ci * @tc.type: FUNC
780e0dac50fSopenharmony_ci */
781e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RemoveSurfaceNodeFromDisplay, Function | SmallTest | Level1)
782e0dac50fSopenharmony_ci{
783e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
784e0dac50fSopenharmony_ci    std::shared_ptr<class RSSurfaceNode> surfaceNode;
785e0dac50fSopenharmony_ci    DisplayManager::GetInstance().OnRemoteDied();
786e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RemoveSurfaceNodeFromDisplay(0, surfaceNode);
787e0dac50fSopenharmony_ci    if (SceneBoardJudgement::IsSceneBoardEnabled()) {
788e0dac50fSopenharmony_ci        ASSERT_NE(ret, DMError::DM_ERROR_IPC_FAILED);
789e0dac50fSopenharmony_ci    } else {
790e0dac50fSopenharmony_ci        ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
791e0dac50fSopenharmony_ci    }
792e0dac50fSopenharmony_ci}
793e0dac50fSopenharmony_ci
794e0dac50fSopenharmony_ci/**
795e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener01
796e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener01 fun
797e0dac50fSopenharmony_ci * @tc.type: FUNC
798e0dac50fSopenharmony_ci */
799e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener01, Function | SmallTest | Level1)
800e0dac50fSopenharmony_ci{
801e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = nullptr;
802e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
803e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
804e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldAngleListener();
805e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
806e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldAngleListener(listener));
807e0dac50fSopenharmony_ci    listener.clear();
808e0dac50fSopenharmony_ci}
809e0dac50fSopenharmony_ci
810e0dac50fSopenharmony_ci/**
811e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener02
812e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener01 fun
813e0dac50fSopenharmony_ci * @tc.type: FUNC
814e0dac50fSopenharmony_ci */
815e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener02, Function | SmallTest | Level1)
816e0dac50fSopenharmony_ci{
817e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
818e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
819e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ = nullptr;
820e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DmMockFoldAngleListener();
821e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
822e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
823e0dac50fSopenharmony_ci    listener.clear();
824e0dac50fSopenharmony_ci}
825e0dac50fSopenharmony_ci
826e0dac50fSopenharmony_ci/**
827e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener01
828e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener01 fun
829e0dac50fSopenharmony_ci * @tc.type: FUNC
830e0dac50fSopenharmony_ci */
831e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener01, Function | SmallTest | Level1)
832e0dac50fSopenharmony_ci{
833e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener;
834e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
835e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
836e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldAngleListener();
837e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
838e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldAngleListener(listener));
839e0dac50fSopenharmony_ci    listener.clear();
840e0dac50fSopenharmony_ci}
841e0dac50fSopenharmony_ci
842e0dac50fSopenharmony_ci/**
843e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener02
844e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener02 fun
845e0dac50fSopenharmony_ci * @tc.type: FUNC
846e0dac50fSopenharmony_ci */
847e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener02, Function | SmallTest | Level1)
848e0dac50fSopenharmony_ci{
849e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty());
850e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener();
851e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
852e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
853e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
854e0dac50fSopenharmony_ci    listener.clear();
855e0dac50fSopenharmony_ci}
856e0dac50fSopenharmony_ci
857e0dac50fSopenharmony_ci/**
858e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener03
859e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener03 fun
860e0dac50fSopenharmony_ci * @tc.type: FUNC
861e0dac50fSopenharmony_ci */
862e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener03, Function | SmallTest | Level1)
863e0dac50fSopenharmony_ci{
864e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty());
865e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->foldAngleListeners_.clear();
866e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener();
867e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
868e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
869e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
870e0dac50fSopenharmony_ci    listener.clear();
871e0dac50fSopenharmony_ci}
872e0dac50fSopenharmony_ci
873e0dac50fSopenharmony_ci/**
874e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener01
875e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener01 fun
876e0dac50fSopenharmony_ci * @tc.type: FUNC
877e0dac50fSopenharmony_ci */
878e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener01, Function | SmallTest | Level1)
879e0dac50fSopenharmony_ci{
880e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = nullptr;
881e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
882e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
883e0dac50fSopenharmony_ci    listener = new DisplayManager::ICaptureStatusListener();
884e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
885e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterCaptureStatusListener(listener));
886e0dac50fSopenharmony_ci    listener.clear();
887e0dac50fSopenharmony_ci}
888e0dac50fSopenharmony_ci
889e0dac50fSopenharmony_ci/**
890e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener02
891e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener02 fun
892e0dac50fSopenharmony_ci * @tc.type: FUNC
893e0dac50fSopenharmony_ci */
894e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener02, Function | SmallTest | Level1)
895e0dac50fSopenharmony_ci{
896e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
897e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
898e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ = nullptr;
899e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
900e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
901e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
902e0dac50fSopenharmony_ci    listener.clear();
903e0dac50fSopenharmony_ci}
904e0dac50fSopenharmony_ci
905e0dac50fSopenharmony_ci/**
906e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener01
907e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener01 fun
908e0dac50fSopenharmony_ci * @tc.type: FUNC
909e0dac50fSopenharmony_ci */
910e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener01, Function | SmallTest | Level1)
911e0dac50fSopenharmony_ci{
912e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener;
913e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
914e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
915e0dac50fSopenharmony_ci    listener = new DisplayManager::ICaptureStatusListener();
916e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
917e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterCaptureStatusListener(listener));
918e0dac50fSopenharmony_ci    listener.clear();
919e0dac50fSopenharmony_ci}
920e0dac50fSopenharmony_ci
921e0dac50fSopenharmony_ci/**
922e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener02
923e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener02 fun
924e0dac50fSopenharmony_ci * @tc.type: FUNC
925e0dac50fSopenharmony_ci */
926e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener02, Function | SmallTest | Level1)
927e0dac50fSopenharmony_ci{
928e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty());
929e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
930e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
931e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
932e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
933e0dac50fSopenharmony_ci    listener.clear();
934e0dac50fSopenharmony_ci}
935e0dac50fSopenharmony_ci
936e0dac50fSopenharmony_ci/**
937e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener03
938e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener03 fun
939e0dac50fSopenharmony_ci * @tc.type: FUNC
940e0dac50fSopenharmony_ci */
941e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener03, Function | SmallTest | Level1)
942e0dac50fSopenharmony_ci{
943e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty());
944e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->captureStatusListeners_.clear();
945e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
946e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
947e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
948e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
949e0dac50fSopenharmony_ci    listener.clear();
950e0dac50fSopenharmony_ci}
951e0dac50fSopenharmony_ci
952e0dac50fSopenharmony_ci
953e0dac50fSopenharmony_ci/**
954e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayUpdateListener01
955e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayUpdateListener01 fun
956e0dac50fSopenharmony_ci * @tc.type: FUNC
957e0dac50fSopenharmony_ci */
958e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayUpdateListener01, Function | SmallTest | Level1)
959e0dac50fSopenharmony_ci{
960e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayUpdateListener> listener = nullptr;
961e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener);
962e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
963e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayUpdateListener();
964e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener);
965e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayUpdateListener(listener));
966e0dac50fSopenharmony_ci    listener.clear();
967e0dac50fSopenharmony_ci}
968e0dac50fSopenharmony_ci
969e0dac50fSopenharmony_ci/**
970e0dac50fSopenharmony_ci * @tc.name: IsCaptured01
971e0dac50fSopenharmony_ci * @tc.desc: IsCaptured01 fun
972e0dac50fSopenharmony_ci * @tc.type: FUNC
973e0dac50fSopenharmony_ci */
974e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsCaptured01, Function | SmallTest | Level1)
975e0dac50fSopenharmony_ci{
976e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().IsCaptured();
977e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
978e0dac50fSopenharmony_ci}
979e0dac50fSopenharmony_ci
980e0dac50fSopenharmony_ci/**
981e0dac50fSopenharmony_ci * @tc.name: isinsideof
982e0dac50fSopenharmony_ci * @tc.desc: isinside0f fun
983e0dac50fSopenharmony_ci * @tc.type: FUNC
984e0dac50fSopenharmony_ci */
985e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, isinsideof, Function | SmallTest | Level1)
986e0dac50fSopenharmony_ci{
987e0dac50fSopenharmony_ci    DMRect rect = {2, 2, 2, 2};
988e0dac50fSopenharmony_ci    DMRect rect1 = {2, 2, 2, 2};
989e0dac50fSopenharmony_ci    ASSERT_EQ(rect.IsInsideOf(rect1), true);
990e0dac50fSopenharmony_ci}
991e0dac50fSopenharmony_ci
992e0dac50fSopenharmony_ci/**
993e0dac50fSopenharmony_ci * @tc.name: GetAllDisplayPhysicalResolution
994e0dac50fSopenharmony_ci * @tc.desc: GetAllDisplayPhysicalResolution test
995e0dac50fSopenharmony_ci * @tc.type: FUNC
996e0dac50fSopenharmony_ci */
997e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetAllDisplayPhysicalResolution, Function | SmallTest | Level1)
998e0dac50fSopenharmony_ci{
999e0dac50fSopenharmony_ci    std::vector<DisplayPhysicalResolution> allSize = DisplayManager::GetInstance().GetAllDisplayPhysicalResolution();
1000e0dac50fSopenharmony_ci    ASSERT_TRUE(!allSize.empty());
1001e0dac50fSopenharmony_ci}
1002e0dac50fSopenharmony_ci
1003e0dac50fSopenharmony_ci/**
1004e0dac50fSopenharmony_ci * @tc.name: ClearDisplayStateCallback
1005e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayStateCallback test
1006e0dac50fSopenharmony_ci * @tc.type: FUNC
1007e0dac50fSopenharmony_ci */
1008e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayStateCallback, Function | SmallTest | Level1)
1009e0dac50fSopenharmony_ci{
1010e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayStateCallback();
1011e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayStateAgent_ == nullptr);
1012e0dac50fSopenharmony_ci}
1013e0dac50fSopenharmony_ci
1014e0dac50fSopenharmony_ci/**
1015e0dac50fSopenharmony_ci * @tc.name: ClearFoldStatusCallback
1016e0dac50fSopenharmony_ci * @tc.desc: ClearFoldStatusCallback test
1017e0dac50fSopenharmony_ci * @tc.type: FUNC
1018e0dac50fSopenharmony_ci */
1019e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldStatusCallback, Function | SmallTest | Level1)
1020e0dac50fSopenharmony_ci{
1021e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearFoldStatusCallback();
1022e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ == nullptr);
1023e0dac50fSopenharmony_ci}
1024e0dac50fSopenharmony_ci
1025e0dac50fSopenharmony_ci/**
1026e0dac50fSopenharmony_ci * @tc.name: ClearFoldAngleCallback
1027e0dac50fSopenharmony_ci * @tc.desc: ClearFoldAngleCallback test
1028e0dac50fSopenharmony_ci * @tc.type: FUNC
1029e0dac50fSopenharmony_ci */
1030e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldAngleCallback, Function | SmallTest | Level1)
1031e0dac50fSopenharmony_ci{
1032e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearFoldAngleCallback();
1033e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ == nullptr);
1034e0dac50fSopenharmony_ci}
1035e0dac50fSopenharmony_ci
1036e0dac50fSopenharmony_ci/**
1037e0dac50fSopenharmony_ci * @tc.name: ClearCaptureStatusCallback
1038e0dac50fSopenharmony_ci * @tc.desc: ClearCaptureStatusCallback test
1039e0dac50fSopenharmony_ci * @tc.type: FUNC
1040e0dac50fSopenharmony_ci */
1041e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearCaptureStatusCallback, Function | SmallTest | Level1)
1042e0dac50fSopenharmony_ci{
1043e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearCaptureStatusCallback();
1044e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ == nullptr);
1045e0dac50fSopenharmony_ci}
1046e0dac50fSopenharmony_ci
1047e0dac50fSopenharmony_ci/**
1048e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback
1049e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback test
1050e0dac50fSopenharmony_ci * @tc.type: FUNC
1051e0dac50fSopenharmony_ci */
1052e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback01, Function | SmallTest | Level1)
1053e0dac50fSopenharmony_ci{
1054e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback();
1055e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr);
1056e0dac50fSopenharmony_ci}
1057e0dac50fSopenharmony_ci
1058e0dac50fSopenharmony_ci/**
1059e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback
1060e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback test
1061e0dac50fSopenharmony_ci * @tc.type: FUNC
1062e0dac50fSopenharmony_ci */
1063e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback02, Function | SmallTest | Level1)
1064e0dac50fSopenharmony_ci{
1065e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener = new DisplayManager::IDisplayModeListener();
1066e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayModeListener(listener);
1067e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback();
1068e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr);
1069e0dac50fSopenharmony_ci}
1070e0dac50fSopenharmony_ci
1071e0dac50fSopenharmony_ci/**
1072e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreenId
1073e0dac50fSopenharmony_ci * @tc.desc: GetDisplayByScreenId test
1074e0dac50fSopenharmony_ci * @tc.type: FUNC
1075e0dac50fSopenharmony_ci */
1076e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreenId, Function | SmallTest | Level1)
1077e0dac50fSopenharmony_ci{
1078e0dac50fSopenharmony_ci    ScreenId screenId = -1;
1079e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->GetDisplayByScreenId(screenId);
1080e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == nullptr);
1081e0dac50fSopenharmony_ci}
1082e0dac50fSopenharmony_ci
1083e0dac50fSopenharmony_ci/**
1084e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayUpdateListener
1085e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayUpdateListener fun
1086e0dac50fSopenharmony_ci * @tc.type: FUNC
1087e0dac50fSopenharmony_ci */
1088e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayUpdateListener, Function | SmallTest | Level1)
1089e0dac50fSopenharmony_ci{
1090e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayUpdateListener> listener;
1091e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener);
1092e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1093e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayUpdateListener();
1094e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener);
1095e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayUpdateListener(listener));
1096e0dac50fSopenharmony_ci    listener.clear();
1097e0dac50fSopenharmony_ci}
1098e0dac50fSopenharmony_ci
1099e0dac50fSopenharmony_ci/**
1100e0dac50fSopenharmony_ci * @tc.name: RegisterAvailableAreaListener
1101e0dac50fSopenharmony_ci * @tc.desc: RegisterAvailableAreaListener fun
1102e0dac50fSopenharmony_ci * @tc.type: FUNC
1103e0dac50fSopenharmony_ci */
1104e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterAvailableAreaListener, Function | SmallTest | Level1)
1105e0dac50fSopenharmony_ci{
1106e0dac50fSopenharmony_ci    sptr<DisplayManager::IAvailableAreaListener> listener;
1107e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener);
1108e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1109e0dac50fSopenharmony_ci    listener = new DisplayManager::IAvailableAreaListener();
1110e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener);
1111e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterAvailableAreaListener(listener));
1112e0dac50fSopenharmony_ci    listener.clear();
1113e0dac50fSopenharmony_ci}
1114e0dac50fSopenharmony_ci
1115e0dac50fSopenharmony_ci/**
1116e0dac50fSopenharmony_ci * @tc.name: UnregisterAvailableAreaListener
1117e0dac50fSopenharmony_ci * @tc.desc: UnregisterAvailableAreaListener fun
1118e0dac50fSopenharmony_ci * @tc.type: FUNC
1119e0dac50fSopenharmony_ci */
1120e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterAvailableAreaListener, Function | SmallTest | Level1)
1121e0dac50fSopenharmony_ci{
1122e0dac50fSopenharmony_ci    sptr<DisplayManager::IAvailableAreaListener> listener;
1123e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener);
1124e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1125e0dac50fSopenharmony_ci    listener = new DisplayManager::IAvailableAreaListener();
1126e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener);
1127e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterAvailableAreaListener(listener));
1128e0dac50fSopenharmony_ci    listener.clear();
1129e0dac50fSopenharmony_ci}
1130e0dac50fSopenharmony_ci
1131e0dac50fSopenharmony_ci/**
1132e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfoSrting
1133e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfoSrting fun
1134e0dac50fSopenharmony_ci * @tc.type: FUNC
1135e0dac50fSopenharmony_ci */
1136e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayInfoSrting, Function | SmallTest | Level1)
1137e0dac50fSopenharmony_ci{
1138e0dac50fSopenharmony_ci    sptr<DisplayInfo> displayInfo = nullptr;
1139e0dac50fSopenharmony_ci    auto ret =DisplayManager::GetInstance().pImpl_->GetDisplayInfoSrting(displayInfo);
1140e0dac50fSopenharmony_ci    ASSERT_EQ(displayInfo, nullptr);
1141e0dac50fSopenharmony_ci}
1142e0dac50fSopenharmony_ci
1143e0dac50fSopenharmony_ci/**
1144e0dac50fSopenharmony_ci * @tc.name: OnRemoteDied
1145e0dac50fSopenharmony_ci * @tc.desc: OnRemoteDied fun
1146e0dac50fSopenharmony_ci * @tc.type: FUNC
1147e0dac50fSopenharmony_ci */
1148e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnRemoteDied, Function | SmallTest | Level1)
1149e0dac50fSopenharmony_ci{
1150e0dac50fSopenharmony_ci    g_dmIsDestroyed = true;
1151e0dac50fSopenharmony_ci    DisplayManager::GetInstance().OnRemoteDied();
1152e0dac50fSopenharmony_ci    ASSERT_EQ(g_dmIsDestroyed, true);
1153e0dac50fSopenharmony_ci}
1154e0dac50fSopenharmony_ci
1155e0dac50fSopenharmony_ci/**
1156e0dac50fSopenharmony_ci * @tc.name: SetDisplayScale
1157e0dac50fSopenharmony_ci * @tc.desc: SetDisplayScale test
1158e0dac50fSopenharmony_ci * @tc.type: FUNC
1159e0dac50fSopenharmony_ci */
1160e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, SetDisplayScale, Function | SmallTest | Level1)
1161e0dac50fSopenharmony_ci{
1162e0dac50fSopenharmony_ci    DisplayManager& displayManager = DisplayManager::GetInstance();
1163e0dac50fSopenharmony_ci    ASSERT_NE(displayManager.pImpl_, nullptr);
1164e0dac50fSopenharmony_ci    const float scaleX = 1.0f;
1165e0dac50fSopenharmony_ci    const float scaleY = 1.0f;
1166e0dac50fSopenharmony_ci    const float pivotX = 0.5f;
1167e0dac50fSopenharmony_ci    const float pivotY = 0.5f;
1168e0dac50fSopenharmony_ci    sptr<Display> display = displayManager.GetDefaultDisplay();
1169e0dac50fSopenharmony_ci    ASSERT_NE(display, nullptr);
1170e0dac50fSopenharmony_ci    ScreenId screenId = display->GetScreenId();
1171e0dac50fSopenharmony_ci    displayManager.SetDisplayScale(screenId, scaleX, scaleY, pivotX, pivotY);
1172e0dac50fSopenharmony_ci}
1173e0dac50fSopenharmony_ci
1174e0dac50fSopenharmony_ci/**
1175e0dac50fSopenharmony_ci * @tc.name: Clear
1176e0dac50fSopenharmony_ci * @tc.desc: Clear test
1177e0dac50fSopenharmony_ci * @tc.type: FUNC
1178e0dac50fSopenharmony_ci */
1179e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear01, Function | SmallTest | Level1)
1180e0dac50fSopenharmony_ci{
1181e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1182e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1183e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1184e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr;
1185e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
1186e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayListener(listener);
1187e0dac50fSopenharmony_ci    auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_;
1188e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener, nullptr);
1189e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->Clear();
1190e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->displayManagerListener_, nullptr);
1191e0dac50fSopenharmony_ci}
1192e0dac50fSopenharmony_ci
1193e0dac50fSopenharmony_ci/**
1194e0dac50fSopenharmony_ci * @tc.name: Clear
1195e0dac50fSopenharmony_ci * @tc.desc: Clear test
1196e0dac50fSopenharmony_ci * @tc.type: FUNC
1197e0dac50fSopenharmony_ci */
1198e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear02, Function | SmallTest | Level1)
1199e0dac50fSopenharmony_ci{
1200e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1201e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1202e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1203e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_ = nullptr;
1204e0dac50fSopenharmony_ci    sptr<IDisplayPowerEventListener> listener = new DmMockDisplayPowerEventListener();
1205e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayPowerEventListener(listener);
1206e0dac50fSopenharmony_ci    auto powerEventListenerAgent = DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_;
1207e0dac50fSopenharmony_ci    ASSERT_NE(powerEventListenerAgent, nullptr);
1208e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->Clear();
1209e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr);
1210e0dac50fSopenharmony_ci}
1211e0dac50fSopenharmony_ci
1212e0dac50fSopenharmony_ci/**
1213e0dac50fSopenharmony_ci * @tc.name: NotifyCaptureStatusChanged
1214e0dac50fSopenharmony_ci * @tc.desc: NotifyCaptureStatusChanged fun
1215e0dac50fSopenharmony_ci * @tc.type: FUNC
1216e0dac50fSopenharmony_ci */
1217e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1)
1218e0dac50fSopenharmony_ci{
1219e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr;
1220e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
1221e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent =
1222e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_);
1223e0dac50fSopenharmony_ci    bool isCapture = true;
1224e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->NotifyCaptureStatusChanged(isCapture);
1225e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr);
1226e0dac50fSopenharmony_ci}
1227e0dac50fSopenharmony_ci
1228e0dac50fSopenharmony_ci/**
1229e0dac50fSopenharmony_ci * @tc.name: NotifyCaptureStatusChanged01
1230e0dac50fSopenharmony_ci * @tc.desc: NotifyCaptureStatusChanged01 fun
1231e0dac50fSopenharmony_ci * @tc.type: FUNC
1232e0dac50fSopenharmony_ci */
1233e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1)
1234e0dac50fSopenharmony_ci{
1235e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr;
1236e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl> impl_;
1237e0dac50fSopenharmony_ci    sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent =
1238e0dac50fSopenharmony_ci        new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_);
1239e0dac50fSopenharmony_ci    bool isCapture = true;
1240e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->NotifyCaptureStatusChanged(isCapture);
1241e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr);
1242e0dac50fSopenharmony_ci}
1243e0dac50fSopenharmony_ci/**
1244e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener03
1245e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener03 fun
1246e0dac50fSopenharmony_ci * @tc.type: FUNC
1247e0dac50fSopenharmony_ci */
1248e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener03, Function | SmallTest | Level1)
1249e0dac50fSopenharmony_ci{
1250e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = nullptr;
1251e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
1252e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1253e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldAngleListener();
1254e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
1255e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldAngleListener(listener));
1256e0dac50fSopenharmony_ci    listener.clear();
1257e0dac50fSopenharmony_ci}
1258e0dac50fSopenharmony_ci
1259e0dac50fSopenharmony_ci/**
1260e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener04
1261e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener04 fun
1262e0dac50fSopenharmony_ci * @tc.type: FUNC
1263e0dac50fSopenharmony_ci */
1264e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener04, Function | SmallTest | Level1)
1265e0dac50fSopenharmony_ci{
1266e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1267e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
1268e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ = nullptr;
1269e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DmMockFoldAngleListener();
1270e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
1271e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
1272e0dac50fSopenharmony_ci    listener.clear();
1273e0dac50fSopenharmony_ci}
1274e0dac50fSopenharmony_ci
1275e0dac50fSopenharmony_ci/**
1276e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener04
1277e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener04 fun
1278e0dac50fSopenharmony_ci * @tc.type: FUNC
1279e0dac50fSopenharmony_ci */
1280e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener04, Function | SmallTest | Level1)
1281e0dac50fSopenharmony_ci{
1282e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener;
1283e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
1284e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1285e0dac50fSopenharmony_ci    listener = new DisplayManager::IFoldAngleListener();
1286e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
1287e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldAngleListener(listener));
1288e0dac50fSopenharmony_ci    listener.clear();
1289e0dac50fSopenharmony_ci}
1290e0dac50fSopenharmony_ci
1291e0dac50fSopenharmony_ci/**
1292e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener05
1293e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener05 fun
1294e0dac50fSopenharmony_ci * @tc.type: FUNC
1295e0dac50fSopenharmony_ci */
1296e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener05, Function | SmallTest | Level1)
1297e0dac50fSopenharmony_ci{
1298e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty());
1299e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener();
1300e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
1301e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
1302e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
1303e0dac50fSopenharmony_ci    listener.clear();
1304e0dac50fSopenharmony_ci}
1305e0dac50fSopenharmony_ci
1306e0dac50fSopenharmony_ci/**
1307e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener06
1308e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener06 fun
1309e0dac50fSopenharmony_ci * @tc.type: FUNC
1310e0dac50fSopenharmony_ci */
1311e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener06, Function | SmallTest | Level1)
1312e0dac50fSopenharmony_ci{
1313e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty());
1314e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->foldAngleListeners_.clear();
1315e0dac50fSopenharmony_ci    sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener();
1316e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterFoldAngleListener(listener);
1317e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener);
1318e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
1319e0dac50fSopenharmony_ci    listener.clear();
1320e0dac50fSopenharmony_ci}
1321e0dac50fSopenharmony_ci
1322e0dac50fSopenharmony_ci/**
1323e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener03
1324e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener03 fun
1325e0dac50fSopenharmony_ci * @tc.type: FUNC
1326e0dac50fSopenharmony_ci */
1327e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener03, Function | SmallTest | Level1)
1328e0dac50fSopenharmony_ci{
1329e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = nullptr;
1330e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
1331e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1332e0dac50fSopenharmony_ci    listener = new DisplayManager::ICaptureStatusListener();
1333e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
1334e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterCaptureStatusListener(listener));
1335e0dac50fSopenharmony_ci    listener.clear();
1336e0dac50fSopenharmony_ci}
1337e0dac50fSopenharmony_ci
1338e0dac50fSopenharmony_ci/**
1339e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener04
1340e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener04 fun
1341e0dac50fSopenharmony_ci * @tc.type: FUNC
1342e0dac50fSopenharmony_ci */
1343e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener04, Function | SmallTest | Level1)
1344e0dac50fSopenharmony_ci{
1345e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1346e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED));
1347e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ = nullptr;
1348e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
1349e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
1350e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED);
1351e0dac50fSopenharmony_ci    listener.clear();
1352e0dac50fSopenharmony_ci}
1353e0dac50fSopenharmony_ci
1354e0dac50fSopenharmony_ci/**
1355e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener04
1356e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener04 fun
1357e0dac50fSopenharmony_ci * @tc.type: FUNC
1358e0dac50fSopenharmony_ci */
1359e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener04, Function | SmallTest | Level1)
1360e0dac50fSopenharmony_ci{
1361e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener;
1362e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
1363e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1364e0dac50fSopenharmony_ci    listener = new DisplayManager::ICaptureStatusListener();
1365e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
1366e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterCaptureStatusListener(listener));
1367e0dac50fSopenharmony_ci    listener.clear();
1368e0dac50fSopenharmony_ci}
1369e0dac50fSopenharmony_ci
1370e0dac50fSopenharmony_ci/**
1371e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener05
1372e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener05 fun
1373e0dac50fSopenharmony_ci * @tc.type: FUNC
1374e0dac50fSopenharmony_ci */
1375e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener05, Function | SmallTest | Level1)
1376e0dac50fSopenharmony_ci{
1377e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty());
1378e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
1379e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
1380e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
1381e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
1382e0dac50fSopenharmony_ci    listener.clear();
1383e0dac50fSopenharmony_ci}
1384e0dac50fSopenharmony_ci
1385e0dac50fSopenharmony_ci/**
1386e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener06
1387e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener06 fun
1388e0dac50fSopenharmony_ci * @tc.type: FUNC
1389e0dac50fSopenharmony_ci */
1390e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener06, Function | SmallTest | Level1)
1391e0dac50fSopenharmony_ci{
1392e0dac50fSopenharmony_ci    ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty());
1393e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->captureStatusListeners_.clear();
1394e0dac50fSopenharmony_ci    sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener();
1395e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterCaptureStatusListener(listener);
1396e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener);
1397e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
1398e0dac50fSopenharmony_ci    listener.clear();
1399e0dac50fSopenharmony_ci}
1400e0dac50fSopenharmony_ci
1401e0dac50fSopenharmony_ci
1402e0dac50fSopenharmony_ci/**
1403e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayUpdateListener02
1404e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayUpdateListener02 fun
1405e0dac50fSopenharmony_ci * @tc.type: FUNC
1406e0dac50fSopenharmony_ci */
1407e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayUpdateListener02, Function | SmallTest | Level1)
1408e0dac50fSopenharmony_ci{
1409e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayUpdateListener> listener = nullptr;
1410e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener);
1411e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1412e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayUpdateListener();
1413e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener);
1414e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayUpdateListener(listener));
1415e0dac50fSopenharmony_ci    listener.clear();
1416e0dac50fSopenharmony_ci}
1417e0dac50fSopenharmony_ci
1418e0dac50fSopenharmony_ci/**
1419e0dac50fSopenharmony_ci * @tc.name: IsCaptured02
1420e0dac50fSopenharmony_ci * @tc.desc: IsCaptured02 fun
1421e0dac50fSopenharmony_ci * @tc.type: FUNC
1422e0dac50fSopenharmony_ci */
1423e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsCaptured02, Function | SmallTest | Level1)
1424e0dac50fSopenharmony_ci{
1425e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().IsCaptured();
1426e0dac50fSopenharmony_ci    ASSERT_FALSE(ret);
1427e0dac50fSopenharmony_ci}
1428e0dac50fSopenharmony_ci
1429e0dac50fSopenharmony_ci/**
1430e0dac50fSopenharmony_ci * @tc.name: isinsideof01
1431e0dac50fSopenharmony_ci * @tc.desc: isinsideof01 fun
1432e0dac50fSopenharmony_ci * @tc.type: FUNC
1433e0dac50fSopenharmony_ci */
1434e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, isinsideof01, Function | SmallTest | Level1)
1435e0dac50fSopenharmony_ci{
1436e0dac50fSopenharmony_ci    DMRect rect = {2, 2, 2, 2};
1437e0dac50fSopenharmony_ci    DMRect rect1 = {2, 2, 2, 2};
1438e0dac50fSopenharmony_ci    ASSERT_EQ(rect.IsInsideOf(rect1), true);
1439e0dac50fSopenharmony_ci}
1440e0dac50fSopenharmony_ci
1441e0dac50fSopenharmony_ci/**
1442e0dac50fSopenharmony_ci * @tc.name: GetAllDisplayPhysicalResolution01
1443e0dac50fSopenharmony_ci * @tc.desc: GetAllDisplayPhysicalResolution01 test
1444e0dac50fSopenharmony_ci * @tc.type: FUNC
1445e0dac50fSopenharmony_ci */
1446e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetAllDisplayPhysicalResolution01, Function | SmallTest | Level1)
1447e0dac50fSopenharmony_ci{
1448e0dac50fSopenharmony_ci    std::vector<DisplayPhysicalResolution> allSize = DisplayManager::GetInstance().GetAllDisplayPhysicalResolution();
1449e0dac50fSopenharmony_ci    ASSERT_TRUE(!allSize.empty());
1450e0dac50fSopenharmony_ci}
1451e0dac50fSopenharmony_ci
1452e0dac50fSopenharmony_ci/**
1453e0dac50fSopenharmony_ci * @tc.name: ClearDisplayStateCallback01
1454e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayStateCallback01 test
1455e0dac50fSopenharmony_ci * @tc.type: FUNC
1456e0dac50fSopenharmony_ci */
1457e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayStateCallback01, Function | SmallTest | Level1)
1458e0dac50fSopenharmony_ci{
1459e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayStateCallback();
1460e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayStateAgent_ == nullptr);
1461e0dac50fSopenharmony_ci}
1462e0dac50fSopenharmony_ci
1463e0dac50fSopenharmony_ci/**
1464e0dac50fSopenharmony_ci * @tc.name: ClearFoldStatusCallback01
1465e0dac50fSopenharmony_ci * @tc.desc: ClearFoldStatusCallback01 test
1466e0dac50fSopenharmony_ci * @tc.type: FUNC
1467e0dac50fSopenharmony_ci */
1468e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldStatusCallback01, Function | SmallTest | Level1)
1469e0dac50fSopenharmony_ci{
1470e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearFoldStatusCallback();
1471e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ == nullptr);
1472e0dac50fSopenharmony_ci}
1473e0dac50fSopenharmony_ci
1474e0dac50fSopenharmony_ci/**
1475e0dac50fSopenharmony_ci * @tc.name: ClearFoldAngleCallback01
1476e0dac50fSopenharmony_ci * @tc.desc: ClearFoldAngleCallback01 test
1477e0dac50fSopenharmony_ci * @tc.type: FUNC
1478e0dac50fSopenharmony_ci */
1479e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldAngleCallback01, Function | SmallTest | Level1)
1480e0dac50fSopenharmony_ci{
1481e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearFoldAngleCallback();
1482e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ == nullptr);
1483e0dac50fSopenharmony_ci}
1484e0dac50fSopenharmony_ci
1485e0dac50fSopenharmony_ci/**
1486e0dac50fSopenharmony_ci * @tc.name: ClearCaptureStatusCallback01
1487e0dac50fSopenharmony_ci * @tc.desc: ClearCaptureStatusCallback01 test
1488e0dac50fSopenharmony_ci * @tc.type: FUNC
1489e0dac50fSopenharmony_ci */
1490e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearCaptureStatusCallback01, Function | SmallTest | Level1)
1491e0dac50fSopenharmony_ci{
1492e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearCaptureStatusCallback();
1493e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ == nullptr);
1494e0dac50fSopenharmony_ci}
1495e0dac50fSopenharmony_ci
1496e0dac50fSopenharmony_ci/**
1497e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback03
1498e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback03 test
1499e0dac50fSopenharmony_ci * @tc.type: FUNC
1500e0dac50fSopenharmony_ci */
1501e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback03, Function | SmallTest | Level1)
1502e0dac50fSopenharmony_ci{
1503e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback();
1504e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr);
1505e0dac50fSopenharmony_ci}
1506e0dac50fSopenharmony_ci
1507e0dac50fSopenharmony_ci/**
1508e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback04
1509e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback04 test
1510e0dac50fSopenharmony_ci * @tc.type: FUNC
1511e0dac50fSopenharmony_ci */
1512e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback04, Function | SmallTest | Level1)
1513e0dac50fSopenharmony_ci{
1514e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayModeListener> listener = new DisplayManager::IDisplayModeListener();
1515e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayModeListener(listener);
1516e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback();
1517e0dac50fSopenharmony_ci    ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr);
1518e0dac50fSopenharmony_ci}
1519e0dac50fSopenharmony_ci
1520e0dac50fSopenharmony_ci/**
1521e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreenId01
1522e0dac50fSopenharmony_ci * @tc.desc: GetDisplayByScreenId01 test
1523e0dac50fSopenharmony_ci * @tc.type: FUNC
1524e0dac50fSopenharmony_ci */
1525e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreenId01, Function | SmallTest | Level1)
1526e0dac50fSopenharmony_ci{
1527e0dac50fSopenharmony_ci    ScreenId screenId = -1;
1528e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().pImpl_->GetDisplayByScreenId(screenId);
1529e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == nullptr);
1530e0dac50fSopenharmony_ci}
1531e0dac50fSopenharmony_ci
1532e0dac50fSopenharmony_ci/**
1533e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayUpdateListener01
1534e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayUpdateListener01 fun
1535e0dac50fSopenharmony_ci * @tc.type: FUNC
1536e0dac50fSopenharmony_ci */
1537e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayUpdateListener01, Function | SmallTest | Level1)
1538e0dac50fSopenharmony_ci{
1539e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayUpdateListener> listener;
1540e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener);
1541e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1542e0dac50fSopenharmony_ci    listener = new DisplayManager::IDisplayUpdateListener();
1543e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener);
1544e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayUpdateListener(listener));
1545e0dac50fSopenharmony_ci    listener.clear();
1546e0dac50fSopenharmony_ci}
1547e0dac50fSopenharmony_ci
1548e0dac50fSopenharmony_ci/**
1549e0dac50fSopenharmony_ci * @tc.name: RegisterAvailableAreaListener01
1550e0dac50fSopenharmony_ci * @tc.desc: RegisterAvailableAreaListener01 fun
1551e0dac50fSopenharmony_ci * @tc.type: FUNC
1552e0dac50fSopenharmony_ci */
1553e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterAvailableAreaListener01, Function | SmallTest | Level1)
1554e0dac50fSopenharmony_ci{
1555e0dac50fSopenharmony_ci    sptr<DisplayManager::IAvailableAreaListener> listener;
1556e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener);
1557e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1558e0dac50fSopenharmony_ci    listener = new DisplayManager::IAvailableAreaListener();
1559e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener);
1560e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterAvailableAreaListener(listener));
1561e0dac50fSopenharmony_ci    listener.clear();
1562e0dac50fSopenharmony_ci}
1563e0dac50fSopenharmony_ci
1564e0dac50fSopenharmony_ci/**
1565e0dac50fSopenharmony_ci * @tc.name: UnregisterAvailableAreaListener01
1566e0dac50fSopenharmony_ci * @tc.desc: UnregisterAvailableAreaListener01 fun
1567e0dac50fSopenharmony_ci * @tc.type: FUNC
1568e0dac50fSopenharmony_ci */
1569e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterAvailableAreaListener01, Function | SmallTest | Level1)
1570e0dac50fSopenharmony_ci{
1571e0dac50fSopenharmony_ci    sptr<DisplayManager::IAvailableAreaListener> listener;
1572e0dac50fSopenharmony_ci    auto ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener);
1573e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR);
1574e0dac50fSopenharmony_ci    listener = new DisplayManager::IAvailableAreaListener();
1575e0dac50fSopenharmony_ci    ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener);
1576e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterAvailableAreaListener(listener));
1577e0dac50fSopenharmony_ci    listener.clear();
1578e0dac50fSopenharmony_ci}
1579e0dac50fSopenharmony_ci
1580e0dac50fSopenharmony_ci/**
1581e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfoSrting01
1582e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfoSrting01 fun
1583e0dac50fSopenharmony_ci * @tc.type: FUNC
1584e0dac50fSopenharmony_ci */
1585e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayInfoSrting01, Function | SmallTest | Level1)
1586e0dac50fSopenharmony_ci{
1587e0dac50fSopenharmony_ci    sptr<DisplayInfo> displayInfo = nullptr;
1588e0dac50fSopenharmony_ci    auto ret =DisplayManager::GetInstance().pImpl_->GetDisplayInfoSrting(displayInfo);
1589e0dac50fSopenharmony_ci    ASSERT_EQ(displayInfo, nullptr);
1590e0dac50fSopenharmony_ci}
1591e0dac50fSopenharmony_ci
1592e0dac50fSopenharmony_ci/**
1593e0dac50fSopenharmony_ci * @tc.name: OnRemoteDied01
1594e0dac50fSopenharmony_ci * @tc.desc: OnRemoteDied01 fun
1595e0dac50fSopenharmony_ci * @tc.type: FUNC
1596e0dac50fSopenharmony_ci */
1597e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnRemoteDied01, Function | SmallTest | Level1)
1598e0dac50fSopenharmony_ci{
1599e0dac50fSopenharmony_ci    g_dmIsDestroyed = true;
1600e0dac50fSopenharmony_ci    DisplayManager::GetInstance().OnRemoteDied();
1601e0dac50fSopenharmony_ci    ASSERT_EQ(g_dmIsDestroyed, true);
1602e0dac50fSopenharmony_ci}
1603e0dac50fSopenharmony_ci
1604e0dac50fSopenharmony_ci/**
1605e0dac50fSopenharmony_ci * @tc.name: SetDisplayScale01
1606e0dac50fSopenharmony_ci * @tc.desc: SetDisplayScale01 test
1607e0dac50fSopenharmony_ci * @tc.type: FUNC
1608e0dac50fSopenharmony_ci */
1609e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, SetDisplayScale01, Function | SmallTest | Level1)
1610e0dac50fSopenharmony_ci{
1611e0dac50fSopenharmony_ci    DisplayManager& displayManager = DisplayManager::GetInstance();
1612e0dac50fSopenharmony_ci    ASSERT_NE(displayManager.pImpl_, nullptr);
1613e0dac50fSopenharmony_ci    const float scaleX = 1.0f;
1614e0dac50fSopenharmony_ci    const float scaleY = 1.0f;
1615e0dac50fSopenharmony_ci    const float pivotX = 0.5f;
1616e0dac50fSopenharmony_ci    const float pivotY = 0.5f;
1617e0dac50fSopenharmony_ci    sptr<Display> display = displayManager.GetDefaultDisplay();
1618e0dac50fSopenharmony_ci    ASSERT_NE(display, nullptr);
1619e0dac50fSopenharmony_ci    ScreenId screenId = display->GetScreenId();
1620e0dac50fSopenharmony_ci    displayManager.SetDisplayScale(screenId, scaleX, scaleY, pivotX, pivotY);
1621e0dac50fSopenharmony_ci}
1622e0dac50fSopenharmony_ci
1623e0dac50fSopenharmony_ci/**
1624e0dac50fSopenharmony_ci * @tc.name: Clear03
1625e0dac50fSopenharmony_ci * @tc.desc: Clear03 test
1626e0dac50fSopenharmony_ci * @tc.type: FUNC
1627e0dac50fSopenharmony_ci */
1628e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear03, Function | SmallTest | Level1)
1629e0dac50fSopenharmony_ci{
1630e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1631e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1632e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1633e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr;
1634e0dac50fSopenharmony_ci    sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener();
1635e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayListener(listener);
1636e0dac50fSopenharmony_ci    auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_;
1637e0dac50fSopenharmony_ci    ASSERT_NE(displayManagerListener, nullptr);
1638e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->Clear();
1639e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->displayManagerListener_, nullptr);
1640e0dac50fSopenharmony_ci}
1641e0dac50fSopenharmony_ci
1642e0dac50fSopenharmony_ci/**
1643e0dac50fSopenharmony_ci * @tc.name: Clear04
1644e0dac50fSopenharmony_ci * @tc.desc: Clear04 test
1645e0dac50fSopenharmony_ci * @tc.type: FUNC
1646e0dac50fSopenharmony_ci */
1647e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear04, Function | SmallTest | Level1)
1648e0dac50fSopenharmony_ci{
1649e0dac50fSopenharmony_ci    std::unique_ptr<Mocker> m = std::make_unique<Mocker>();
1650e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1651e0dac50fSopenharmony_ci    EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK));
1652e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_ = nullptr;
1653e0dac50fSopenharmony_ci    sptr<IDisplayPowerEventListener> listener = new DmMockDisplayPowerEventListener();
1654e0dac50fSopenharmony_ci    DisplayManager::GetInstance().RegisterDisplayPowerEventListener(listener);
1655e0dac50fSopenharmony_ci    auto powerEventListenerAgent = DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_;
1656e0dac50fSopenharmony_ci    ASSERT_NE(powerEventListenerAgent, nullptr);
1657e0dac50fSopenharmony_ci    DisplayManager::GetInstance().pImpl_->Clear();
1658e0dac50fSopenharmony_ci    ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr);
1659e0dac50fSopenharmony_ci}
1660e0dac50fSopenharmony_ci}
1661e0dac50fSopenharmony_ci} // namespace Rosen
1662e0dac50fSopenharmony_ci} // namespace OHOS