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 }