1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 
18 #include "define_multimodal.h"
19 #include "dfx_hisysevent.h"
20 #include "mmi_log.h"
21 
22 #undef MMI_LOG_TAG
23 #define MMI_LOG_TAG "DfxHisysEventTest"
24 
25 namespace OHOS {
26 namespace MMI {
27 namespace {
28 using namespace testing::ext;
29 } // namespace
30 
31 class DfxHisysEventTest : public testing::Test {
32 public:
SetUpTestCase(void)33     static void SetUpTestCase(void) {}
TearDownTestCase(void)34     static void TearDownTestCase(void) {}
SetUp()35     void SetUp() {}
TearDown()36     void TearDown() {}
37 };
38 
39 /**
40  * @tc.name: DfxHisysEventTest_OnClientConnectTest_001
41  * @tc.desc: OnClientConnect
42  * @tc.type: FUNC
43  * @tc.require:
44  */
45 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnClientConnectTest_001, TestSize.Level1)
46 {
47     CALL_TEST_DEBUG;
48     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
49     DfxHisysevent::ClientConnectData data;
50     data.pid = 100;
51     int32_t res = 100;
52     DfxHisysevent::OnClientConnect(data, type);
53     EXPECT_EQ(data.pid, res);
54 }
55 
56 /**
57  * @tc.name: DfxHisysEventTest_OnClientConnectTest_002
58  * @tc.desc: OnClientConnect
59  * @tc.type: FUNC
60  * @tc.require:
61  */
62 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnClientConnectTest_002, TestSize.Level1)
63 {
64     CALL_TEST_DEBUG;
65     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
66     DfxHisysevent::ClientConnectData data;
67     data.pid = 100;
68     int32_t res = 100;
69     DfxHisysevent::OnClientConnect(data, type);
70     EXPECT_EQ(data.pid, res);
71 }
72 
73 /**
74  * @tc.name: DfxHisysEventTest_StatisticTouchpadGestureTest_001
75  * @tc.desc: StatisticTouchpadGesture
76  * @tc.type: FUNC
77  * @tc.require:
78  */
79 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_StatisticTouchpadGestureTest_001, TestSize.Level1)
80 {
81     CALL_TEST_DEBUG;
82     std::shared_ptr<PointerEvent> pointerEvent = PointerEvent::Create();
83     ASSERT_NE(pointerEvent, nullptr);
84     pointerEvent->SetPointerAction(PointerEvent::POINTER_ACTION_AXIS_BEGIN);
85     int32_t fingerCount = 1;
86     pointerEvent->SetFingerCount(fingerCount);
87     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::StatisticTouchpadGesture(pointerEvent));
88 }
89 
90 /**
91  * @tc.name: DfxHisysEventTest_ReportPowerInfoTest_001
92  * @tc.desc: ReportPowerInfo
93  * @tc.type: FUNC
94  * @tc.require:
95  */
96 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportPowerInfoTest_001, TestSize.Level1)
97 {
98     CALL_TEST_DEBUG;
99     auto keyEvent = KeyEvent::Create();
100     ASSERT_NE(keyEvent, nullptr);
101     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
102     keyEvent->SetKeyAction(KeyEvent::KEY_ACTION_UP);
103     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
104     keyEvent->SetKeyAction(KeyEvent::KEY_ACTION_DOWN);
105     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
106     keyEvent = nullptr;
107     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
108 }
109 
110 /**
111  * @tc.name: DfxHisysEventTest_OnUpdateTargetPointerTest_001
112  * @tc.desc: OnUpdateTargetPointer
113  * @tc.type: FUNC
114  * @tc.require:
115  */
116 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnUpdateTargetPointerTest_001, TestSize.Level1)
117 {
118     CALL_TEST_DEBUG;
119     std::shared_ptr<PointerEvent> pointer = PointerEvent::Create();
120     ASSERT_NE(pointer, nullptr);
121     int32_t fd = 1;
122     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
123     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetPointer(pointer, fd, type));
124     type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
125     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetPointer(pointer, fd, type));
126 }
127 
128 /**
129  * @tc.name: DfxHisysEventTest_OnUpdateTargetKeyTest_001
130  * @tc.desc: OnUpdateTargetPointer
131  * @tc.type: FUNC
132  * @tc.require:
133  */
134 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnUpdateTargetKeyTest_001, TestSize.Level1)
135 {
136     CALL_TEST_DEBUG;
137     auto keyEvent = KeyEvent::Create();
138     ASSERT_NE(keyEvent, nullptr);
139     int32_t fd = 1;
140     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
141     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetKey(keyEvent, fd, type));
142     type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
143     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetKey(keyEvent, fd, type));
144 }
145 
146 /**
147  * @tc.name: DfxHisysEventTest_OnDeviceConnectTest_001
148  * @tc.desc: OnDeviceConnect
149  * @tc.type: FUNC
150  * @tc.require:
151  */
152 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnDeviceConnectTest_001, TestSize.Level1)
153 {
154     CALL_TEST_DEBUG;
155     int32_t id = 1;
156     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
157     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnDeviceConnect(id, type));
158     type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
159     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnDeviceConnect(id, type));
160     id = INT32_MAX;
161     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnDeviceConnect(id, type));
162 }
163 
164 /**
165  * @tc.name: DfxHisysEventTest_OnDeviceDisconnectTest_001
166  * @tc.desc: OnDeviceDisconnect
167  * @tc.type: FUNC
168  * @tc.require:
169  */
170 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnDeviceDisconnectTest_001, TestSize.Level1)
171 {
172     CALL_TEST_DEBUG;
173     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
174     int32_t id = -1;
175     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnDeviceDisconnect(id, type));
176     id = 1;
177     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnDeviceDisconnect(id, type));
178 }
179 
180 /**
181  * @tc.name: DfxHisysEventTest_OnLidSwitchChangedTest_001
182  * @tc.desc: OnLidSwitchChanged
183  * @tc.type: FUNC
184  * @tc.require:
185  */
186 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnLidSwitchChangedTest_001, TestSize.Level1)
187 {
188     CALL_TEST_DEBUG;
189     int32_t lidSwitch = 0;
190     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnLidSwitchChanged(lidSwitch));
191 }
192 
193 /**
194  * @tc.name: DfxHisysEventTest_CalcKeyDispTimesTest_001
195  * @tc.desc: CalcKeyDispTimes
196  * @tc.type: FUNC
197  * @tc.require:
198  */
199 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_CalcKeyDispTimesTest_001, TestSize.Level1)
200 {
201     CALL_TEST_DEBUG;
202     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::CalcKeyDispTimes());
203 }
204 
205 /**
206  * @tc.name: DfxHisysEventTest_CalcPointerDispTimesTest_001
207  * @tc.desc: CalcPointerDispTimes
208  * @tc.type: FUNC
209  * @tc.require:
210  */
211 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_CalcPointerDispTimesTest_001, TestSize.Level1)
212 {
213     CALL_TEST_DEBUG;
214     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::CalcPointerDispTimes());
215 }
216 
217 /**
218  * @tc.name: DfxHisysEventTest_ReportDispTimesTest_001
219  * @tc.desc: ReportDispTimes
220  * @tc.type: FUNC
221  * @tc.require:
222  */
223 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportDispTimesTest_001, TestSize.Level1)
224 {
225     CALL_TEST_DEBUG;
226     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportDispTimes());
227 }
228 
229 /**
230  * @tc.name: DfxHisysEventTest_ReportFailIfInvalidTimeTest_001
231  * @tc.desc: ReportFailIfInvalidTime
232  * @tc.type: FUNC
233  * @tc.require:
234  */
235 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfInvalidTimeTest_001, TestSize.Level1)
236 {
237     CALL_TEST_DEBUG;
238     int32_t intervalTime = 1000;
239     auto pointerEvent = PointerEvent::Create();
240     ASSERT_NE(pointerEvent, nullptr);
241     PointerEvent::PointerItem item;
242     item.SetPointerId(0);
243     item.SetDeviceId(1);
244     pointerEvent->AddPointerItem(item);
245     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
246 
247     item.SetPointerId(1);
248     item.SetDeviceId(1);
249     pointerEvent->AddPointerItem(item);
250     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
251 
252     intervalTime = 1000001;
253     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
254 
255     item.SetPointerId(2);
256     item.SetDeviceId(1);
257     pointerEvent->AddPointerItem(item);
258     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
259 }
260 
261 /**
262  * @tc.name: DfxHisysEventTest_ReportFailIfInvalidDistanceTest_001
263  * @tc.desc: ReportFailIfInvalidDistance
264  * @tc.type: FUNC
265  * @tc.require:
266  */
267 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfInvalidDistanceTest_001, TestSize.Level1)
268 {
269     CALL_TEST_DEBUG;
270     auto pointerEvent = PointerEvent::Create();
271     ASSERT_NE(pointerEvent, nullptr);
272     float distance = 10;
273     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidDistance(pointerEvent, distance));
274 }
275 
276 /**
277  * @tc.name: DfxHisysEventTest_ReportKnuckleClickEvent_001
278  * @tc.desc: ReportKnuckleClickEvent
279  * @tc.type: FUNC
280  * @tc.require:
281  */
282 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleClickEvent_001, TestSize.Level1)
283 {
284     CALL_TEST_DEBUG;
285     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleClickEvent());
286 }
287 
288 /**
289  * @tc.name: DfxHisysEventTest_ReportScreenCaptureGesture_001
290  * @tc.desc: ReportScreenCaptureGesture
291  * @tc.type: FUNC
292  * @tc.require:
293  */
294 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportScreenCaptureGesture_001, TestSize.Level1)
295 {
296     CALL_TEST_DEBUG;
297     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportScreenCaptureGesture());
298 }
299 
300 /**
301  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_001
302  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
303  * @tc.type: FUNC
304  * @tc.require:
305  */
306 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_001, TestSize.Level1)
307 {
308     CALL_TEST_DEBUG;
309     int32_t intervalTime = -1;
310     int32_t distanceInterval = -1;
311     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
312 }
313 
314 /**
315  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_002
316  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
317  * @tc.type: FUNC
318  * @tc.require:
319  */
320 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_002, TestSize.Level1)
321 {
322     CALL_TEST_DEBUG;
323     int32_t intervalTime = 0;
324     int32_t distanceInterval = 0;
325     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
326 }
327 
328 /**
329  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_003
330  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
331  * @tc.type: FUNC
332  * @tc.require:
333  */
334 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_003, TestSize.Level1)
335 {
336     CALL_TEST_DEBUG;
337     int32_t intervalTime = 10;
338     int32_t distanceInterval = 10;
339     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
340 }
341 
342 /**
343  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_004
344  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
345  * @tc.type: FUNC
346  * @tc.require:
347  */
348 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_004, TestSize.Level1)
349 {
350     CALL_TEST_DEBUG;
351     int32_t intervalTime = 10000;
352     int32_t distanceInterval = 10000;
353     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
354 }
355 
356 /**
357  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_001
358  * @tc.desc: ReportTouchpadSettingState
359  * @tc.type: FUNC
360  * @tc.require:
361  */
362 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_001, TestSize.Level1)
363 {
364     CALL_TEST_DEBUG;
365     bool flag = false;
366     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
367         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_ROTATE_SETTING, flag));
368 }
369 
370 /**
371  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_002
372  * @tc.desc: ReportTouchpadSettingState
373  * @tc.type: FUNC
374  * @tc.require:
375  */
376 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_002, TestSize.Level1)
377 {
378     CALL_TEST_DEBUG;
379     bool flag = false;
380     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
381         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_SCROLL_SETTING, flag));
382 }
383 
384 /**
385  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_003
386  * @tc.desc: ReportTouchpadSettingState
387  * @tc.type: FUNC
388  * @tc.require:
389  */
390 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_003, TestSize.Level1)
391 {
392     CALL_TEST_DEBUG;
393     bool flag = true;
394     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
395           DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_SCROLL_SETTING, flag));
396 }
397 
398 /**
399  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_004
400  * @tc.desc: ReportTouchpadSettingState
401  * @tc.type: FUNC
402  * @tc.require:
403  */
404 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_004, TestSize.Level1)
405 {
406     CALL_TEST_DEBUG;
407     int32_t value = -1;
408     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
409         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_ROTATE_SETTING, value));
410 }
411 
412 /**
413  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_005
414  * @tc.desc: ReportTouchpadSettingState
415  * @tc.type: FUNC
416  * @tc.require:
417  */
418 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_005, TestSize.Level1)
419 {
420     CALL_TEST_DEBUG;
421     int32_t value = -1;
422     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
423         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_POINTER_SPEED_SETTING, value));
424 }
425 
426 /**
427  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_006
428  * @tc.desc: ReportTouchpadSettingState
429  * @tc.type: FUNC
430  * @tc.require:
431  */
432 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_006, TestSize.Level1)
433 {
434     CALL_TEST_DEBUG;
435     int32_t value = 10;
436     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
437         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_POINTER_SPEED_SETTING, value));
438 }
439 
440 /**
441  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFaildTimes_001
442  * @tc.desc: ReportKnuckleGestureFaildTimes
443  * @tc.type: FUNC
444  * @tc.require:
445  */
446 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFaildTimes_001, TestSize.Level1)
447 {
448     CALL_TEST_DEBUG;
449     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFaildTimes());
450 }
451 
452 /**
453  * @tc.name: DfxHisysEventTest_ReportKnuckleDrawSSuccessTimes_001
454  * @tc.desc: ReportKnuckleDrawSSuccessTimes
455  * @tc.type: FUNC
456  * @tc.require:
457  */
458 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleDrawSSuccessTimes_001, TestSize.Level1)
459 {
460     CALL_TEST_DEBUG;
461     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleDrawSSuccessTimes());
462 }
463 
464 /**
465  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFromFailToSuccessTime_001
466  * @tc.desc: ReportKnuckleGestureFromFailToSuccessTime
467  * @tc.type: FUNC
468  * @tc.require:
469  */
470 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFromFailToSuccessTime_001, TestSize.Level1)
471 {
472     CALL_TEST_DEBUG;
473     int64_t intervalTime = 1;
474     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFromFailToSuccessTime(intervalTime));
475 }
476 
477 /**
478  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFromSuccessToFailTime_001
479  * @tc.desc: ReportKnuckleGestureFromSuccessToFailTime
480  * @tc.type: FUNC
481  * @tc.require:
482  */
483 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFromSuccessToFailTime_001, TestSize.Level1)
484 {
485     CALL_TEST_DEBUG;
486     int64_t intervalTime = 1;
487     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFromSuccessToFailTime(intervalTime));
488 }
489 
490 /**
491  * @tc.name: DfxHisysEventTest_ReportFailIfKnockTooFast_001
492  * @tc.desc: ReportFailIfKnockTooFast
493  * @tc.type: FUNC
494  * @tc.require:
495  */
496 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfKnockTooFast_001, TestSize.Level1)
497 {
498     CALL_TEST_DEBUG;
499     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfKnockTooFast());
500 }
501 
502 /**
503  * @tc.name: DfxHisysEventTest_ReportFailIfOneSuccTwoFail_001
504  * @tc.desc: ReportFailIfOneSuccTwoFail
505  * @tc.type: FUNC
506  * @tc.require:
507  */
508 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfOneSuccTwoFail_001, TestSize.Level1)
509 {
510     CALL_TEST_DEBUG;
511     auto pointerEvent = PointerEvent::Create();
512     ASSERT_NE(pointerEvent, nullptr);
513     PointerEvent::PointerItem item;
514     item.SetPointerId(0);
515     item.SetDeviceId(1);
516     item.SetToolType(PointerEvent::TOOL_TYPE_KNUCKLE);
517     pointerEvent->AddPointerItem(item);
518     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfOneSuccTwoFail(pointerEvent));
519 
520     item.SetToolType(PointerEvent::TOOL_TYPE_FINGER);
521     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfOneSuccTwoFail(pointerEvent));
522 }
523 
524 } // namespace MMI
525 } // namespace OHOS