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 #include <numeric>
18 #include "common_event_control_manager.h"
19 #include "ordered_event_handler.h"
20
21 using namespace testing::ext;
22 using namespace OHOS::EventFwk;
23 using namespace OHOS::AppExecFwk;
24
25 class OrderedEventHandlerTest : public testing::Test {
26 public:
OrderedEventHandlerTest()27 OrderedEventHandlerTest()
28 {}
~OrderedEventHandlerTest()29 ~OrderedEventHandlerTest()
30 {}
31
32 static void SetUpTestCase(void);
33 static void TearDownTestCase(void);
34 void SetUp();
35 void TearDown();
36 };
37
SetUpTestCase(void)38 void OrderedEventHandlerTest::SetUpTestCase(void)
39 {}
40
TearDownTestCase(void)41 void OrderedEventHandlerTest::TearDownTestCase(void)
42 {}
43
SetUp(void)44 void OrderedEventHandlerTest::SetUp(void)
45 {}
46
TearDown(void)47 void OrderedEventHandlerTest::TearDown(void)
48 {}
49
50 /**
51 * @tc.name: OrderedEventHandler_0100
52 * @tc.desc: test ProcessEvent function and controlManager_ is nullptr.
53 * @tc.type: FUNC
54 */
HWTEST_F(OrderedEventHandlerTest,OrderedEventHandler_0100,Level1)55 HWTEST_F(OrderedEventHandlerTest, OrderedEventHandler_0100, Level1)
56 {
57 GTEST_LOG_(INFO) << "OrderedEventHandler_0100 start";
58 std::shared_ptr<EventRunner> runner = nullptr;
59 std::shared_ptr<CommonEventControlManager> controlManager = nullptr;
60 OrderedEventHandler orderedEventHandler(runner, controlManager);
61 InnerEvent::Pointer event(nullptr, nullptr);
62 orderedEventHandler.ProcessEvent(event);
63 GTEST_LOG_(INFO) << "OrderedEventHandler_0100 end";
64 }
65
66 /**
67 * @tc.name: OrderedEventHandler_0200
68 * @tc.desc: test ProcessEvent function and event->GetInnerEventId is ORDERED_EVENT_TIMEOUT.
69 * @tc.type: FUNC
70 */
HWTEST_F(OrderedEventHandlerTest,OrderedEventHandler_0200,Level1)71 HWTEST_F(OrderedEventHandlerTest, OrderedEventHandler_0200, Level1)
72 {
73 GTEST_LOG_(INFO) << "OrderedEventHandler_0200 start";
74 std::shared_ptr<EventRunner> runner = nullptr;
75 std::shared_ptr<CommonEventControlManager> controlManager = std::make_shared<CommonEventControlManager>();
76 OrderedEventHandler orderedEventHandler(runner, controlManager);
77 uint32_t eventId = 2;
78 InnerEvent::Pointer event = InnerEvent::Get(eventId);
79 orderedEventHandler.ProcessEvent(event);
80 GTEST_LOG_(INFO) << "OrderedEventHandler_0200 end";
81 }
82
83 /**
84 * @tc.name: OrderedEventHandler_0300
85 * @tc.desc: test ProcessEvent function and event->GetInnerEventId is not ORDERED_EVENT_TIMEOUT.
86 * @tc.type: FUNC
87 */
HWTEST_F(OrderedEventHandlerTest,OrderedEventHandler_0300,Level1)88 HWTEST_F(OrderedEventHandlerTest, OrderedEventHandler_0300, Level1)
89 {
90 GTEST_LOG_(INFO) << "OrderedEventHandler_0300 start";
91 std::shared_ptr<EventRunner> runner = nullptr;
92 std::shared_ptr<CommonEventControlManager> controlManager = std::make_shared<CommonEventControlManager>();
93 OrderedEventHandler orderedEventHandler(runner, controlManager);
94 uint32_t eventId = 0;
95 InnerEvent::Pointer event = InnerEvent::Get(eventId);
96 orderedEventHandler.ProcessEvent(event);
97 GTEST_LOG_(INFO) << "OrderedEventHandler_0300 end";
98 }
99
100 /**
101 * @tc.name: OrderedEventHandler_0400
102 * @tc.desc: test ProcessEvent function and event->GetInnerEventId is ORDERED_EVENT_START.
103 * @tc.type: FUNC
104 */
HWTEST_F(OrderedEventHandlerTest,OrderedEventHandler_0400,Level1)105 HWTEST_F(OrderedEventHandlerTest, OrderedEventHandler_0400, Level1)
106 {
107 GTEST_LOG_(INFO) << "OrderedEventHandler_0400 start";
108 std::shared_ptr<EventRunner> runner = nullptr;
109 std::shared_ptr<CommonEventControlManager> controlManager = std::make_shared<CommonEventControlManager>();
110 OrderedEventHandler orderedEventHandler(runner, controlManager);
111 uint32_t eventId = 1;
112 InnerEvent::Pointer event = InnerEvent::Get(eventId);
113 orderedEventHandler.ProcessEvent(event);
114 GTEST_LOG_(INFO) << "OrderedEventHandler_0400 end";
115 }