1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17
18 #include "display_manager_agent_controller.h"
19
20 using namespace testing;
21 using namespace testing::ext;
22
23 namespace OHOS {
24 namespace Rosen {
25 class DisplayManagerAgentControllerTest : public testing::Test {
26 public:
27 static void SetUpTestCase();
28 static void TearDownTestCase();
29 void SetUp() override;
30 void TearDown() override;
31 };
32
SetUpTestCase()33 void DisplayManagerAgentControllerTest::SetUpTestCase()
34 {
35 }
36
TearDownTestCase()37 void DisplayManagerAgentControllerTest::TearDownTestCase()
38 {
39 }
40
SetUp()41 void DisplayManagerAgentControllerTest::SetUp()
42 {
43 }
44
TearDown()45 void DisplayManagerAgentControllerTest::TearDown()
46 {
47 }
48
49 namespace {
50 /**
51 * @tc.name: OnScreenConnect
52 * @tc.desc: OnScreenConnect test
53 * @tc.type: FUNC
54 */
55 HWTEST_F(DisplayManagerAgentControllerTest, OnScreenConnect, Function | SmallTest | Level3)
56 {
57 sptr<ScreenInfo> screenInfo = nullptr;
58 DisplayManagerAgentController::GetInstance().OnScreenConnect(screenInfo);
59 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
60 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
61 }
62 /**
63 * @tc.name: OnScreenChange
64 * @tc.desc: OnScreenChange test
65 * @tc.type: FUNC
66 */
67 HWTEST_F(DisplayManagerAgentControllerTest, OnScreenChange, Function | SmallTest | Level3)
68 {
69 sptr<ScreenInfo> screenInfo = nullptr;
70 DisplayManagerAgentController::GetInstance().OnScreenChange(screenInfo, ScreenChangeEvent::UPDATE_ROTATION);
71 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
72 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
73 }
74 /**
75 * @tc.name: OnScreenGroupChange
76 * @tc.desc: OnScreenChange test
77 * @tc.type: FUNC
78 */
79 HWTEST_F(DisplayManagerAgentControllerTest, OnScreenGroupChange, Function | SmallTest | Level3)
80 {
81 sptr<ScreenInfo> screenInfo = nullptr;
82 std::string trigger;
83 DisplayManagerAgentController::GetInstance().OnScreenGroupChange(trigger,
84 screenInfo, ScreenGroupChangeEvent::ADD_TO_GROUP);
85 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
86 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
87 std::vector<sptr<ScreenInfo>> screenInfos;
88 screenInfos.push_back(screenInfo);
89 DisplayManagerAgentController::GetInstance().OnScreenGroupChange(trigger,
90 screenInfos, ScreenGroupChangeEvent::ADD_TO_GROUP);
91 }
92 /**
93 * @tc.name: OnDisplayCreate
94 * @tc.desc: OnDisplayCreate test
95 * @tc.type: FUNC
96 */
97 HWTEST_F(DisplayManagerAgentControllerTest, OnDisplayCreate, Function | SmallTest | Level3)
98 {
99 sptr<DisplayInfo> displayInfo;
100 DisplayManagerAgentController::GetInstance().OnDisplayCreate(displayInfo);
101 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
102 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
103 }
104 /**
105 * @tc.name: OnDisplayDestroy
106 * @tc.desc: OnDisplayDestroy test
107 * @tc.type: FUNC
108 */
109 HWTEST_F(DisplayManagerAgentControllerTest, OnDisplayDestroy, Function | SmallTest | Level3)
110 {
111 DisplayId displayId = 0;
112 DisplayManagerAgentController::GetInstance().OnDisplayDestroy(displayId);
113 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
114 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
115 }
116 /**
117 * @tc.name: OnDisplayChange
118 * @tc.desc: OnDisplayChange test
119 * @tc.type: FUNC
120 */
121 HWTEST_F(DisplayManagerAgentControllerTest, OnDisplayChange, Function | SmallTest | Level3)
122 {
123 sptr<DisplayInfo> displayInfo = nullptr;
124 DisplayManagerAgentController::GetInstance().OnDisplayChange(displayInfo, DisplayChangeEvent::UNKNOWN);
125 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
126 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
127 displayInfo = new DisplayInfo();
128 DisplayManagerAgentController::GetInstance().OnDisplayChange(displayInfo, DisplayChangeEvent::UNKNOWN);
129 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
130 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
131 }
132 /**
133 * @tc.name: OnScreenshot
134 * @tc.desc: OnScreenshot test
135 * @tc.type: FUNC
136 */
137 HWTEST_F(DisplayManagerAgentControllerTest, OnScreenshot, Function | SmallTest | Level3)
138 {
139 sptr<ScreenshotInfo> info = nullptr;
140 DisplayManagerAgentController::GetInstance().OnScreenshot(info);
141 ASSERT_EQ(0, DisplayManagerAgentController::GetInstance().
142 dmAgentContainer_.GetAgentsByType(DisplayManagerAgentType::SCREEN_EVENT_LISTENER).size());
143 }
144 }
145 } // namespace Rosen
146 } // namespace OHOS
147