1/*
2 * Copyright (c) 2021-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 "device_base.h"
19#include "msg_head.h"
20#include "proto.h"
21
22namespace OHOS {
23namespace MMI {
24namespace {
25using namespace testing::ext;
26} // namespace
27
28class DeviceBaseTest : public testing::Test {
29public:
30    static void SetUpTestCase(void) {}
31    static void TearDownTestCase(void) {}
32};
33
34class DeviceBaseDemo : public DeviceBase {
35    int32_t TransformJsonDataToInputData(const DeviceItem& fingerEventArrays, InputEventArray& inputEventArray)
36    {
37        return RET_ERR;
38    }
39};
40
41/**
42 * @tc.name:Test_SetTimeToLibinputEvent
43 * @tc.desc:Verify device base function SetTimeToLibinputEvent
44 * @tc.type: FUNC
45 * @tc.require:
46 */
47HWTEST_F(DeviceBaseTest, Test_SetTimeToLibinputEvent, TestSize.Level1)
48{
49    InjectEvent injectEvent = {};
50    ASSERT_TRUE(injectEvent == nullptr);
51    DeviceBaseDemo deviceBaseDemo;
52    deviceBaseDemo.SetTimeToLibinputEvent(injectEvent);
53}
54
55/**
56 * @tc.name:Test_SetSynConfigReport
57 * @tc.desc:Verify device base function SetSynConfigReport
58 * @tc.type: FUNC
59 * @tc.require:
60 */
61HWTEST_F(DeviceBaseTest, Test_SetSynConfigReport, TestSize.Level1)
62{
63    InputEventArray inputEventArray = {};
64    int64_t blockTime = 10;
65    DeviceBaseDemo deviceBaseDemo;
66    deviceBaseDemo.SetSynConfigReport(inputEventArray, blockTime);
67    EXPECT_GT(inputEventArray.events.size(), 0);
68    if (inputEventArray.events.size() <= 0) {
69        return;
70    }
71    EXPECT_EQ(inputEventArray.events[0].event.type, EV_SYN);
72    EXPECT_EQ(inputEventArray.events[0].event.code, SYN_REPORT);
73    EXPECT_EQ(inputEventArray.events[0].event.value, SYN_CONFIG);
74    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
75}
76
77/**
78 * @tc.name:Test_SetKeyLongPressEvent
79 * @tc.desc:Verify device base function SetKeyLongPressEvent
80 * @tc.type: FUNC
81 * @tc.require:
82 */
83HWTEST_F(DeviceBaseTest, Test_SetKeyLongPressEvent, TestSize.Level1)
84{
85    InputEventArray inputEventArray = {};
86    int64_t blockTime = 10;
87    int32_t code = KEY_A;
88    DeviceBaseDemo deviceBaseDemo;
89    deviceBaseDemo.SetKeyLongPressEvent(inputEventArray, blockTime, code);
90    EXPECT_GT(inputEventArray.events.size(), 0);
91    if (inputEventArray.events.size() <= 0) {
92        return;
93    }
94    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
95    EXPECT_EQ(inputEventArray.events[0].event.code, static_cast<uint16_t>(code));
96    EXPECT_EQ(inputEventArray.events[0].event.value, LONG_PRESS);
97    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
98}
99
100/**
101 * @tc.name:Test_SetKeyPressEvent
102 * @tc.desc:Verify device base function SetKeyPressEvent
103 * @tc.type: FUNC
104 * @tc.require:
105 */
106HWTEST_F(DeviceBaseTest, Test_SetKeyPressEvent, TestSize.Level1)
107{
108    InputEventArray inputEventArray = {};
109    int64_t blockTime = 10;
110    int32_t code = KEY_A;
111    DeviceBaseDemo deviceBaseDemo;
112    deviceBaseDemo.SetKeyPressEvent(inputEventArray, blockTime, code);
113    EXPECT_GT(inputEventArray.events.size(), 0);
114    if (inputEventArray.events.size() <= 0) {
115        return;
116    }
117    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
118    EXPECT_EQ(inputEventArray.events[0].event.code, static_cast<uint16_t>(code));
119    EXPECT_EQ(inputEventArray.events[0].event.value, 1);
120    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
121}
122
123/**
124 * @tc.name:Test_SetKeyReleaseEvent
125 * @tc.desc:Verify device base function SetKeyReleaseEvent
126 * @tc.type: FUNC
127 * @tc.require:
128 */
129HWTEST_F(DeviceBaseTest, Test_SetKeyReleaseEvent, TestSize.Level1)
130{
131    InputEventArray inputEventArray = {};
132    int64_t blockTime = 10;
133    int32_t code = KEY_A;
134    DeviceBaseDemo deviceBaseDemo;
135    deviceBaseDemo.SetKeyReleaseEvent(inputEventArray, blockTime, code);
136    EXPECT_GT(inputEventArray.events.size(), 0);
137    if (inputEventArray.events.size() <= 0) {
138        return;
139    }
140    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
141    EXPECT_EQ(inputEventArray.events[0].event.code, static_cast<uint16_t>(code));
142    EXPECT_EQ(inputEventArray.events[0].event.value, 0);
143    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
144}
145
146/**
147 * @tc.name:Test_SetMtSlot
148 * @tc.desc:Verify device base function SetMtSlot
149 * @tc.type: FUNC
150 * @tc.require:
151 */
152HWTEST_F(DeviceBaseTest, Test_SetMtSlot, TestSize.Level1)
153{
154    InputEventArray inputEventArray = {};
155    int64_t blockTime = 10;
156    int32_t value = 0;
157    DeviceBaseDemo deviceBaseDemo;
158    deviceBaseDemo.SetMtSlot(inputEventArray, blockTime, value);
159    EXPECT_GT(inputEventArray.events.size(), 0);
160    if (inputEventArray.events.size() <= 0) {
161        return;
162    }
163    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
164    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_SLOT);
165    EXPECT_EQ(inputEventArray.events[0].event.value, value);
166    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
167}
168
169/**
170 * @tc.name:Test_SetTrackingId
171 * @tc.desc:Verify device base function SetTrackingId
172 * @tc.type: FUNC
173 * @tc.require:
174 */
175HWTEST_F(DeviceBaseTest, Test_SetTrackingId, TestSize.Level1)
176{
177    InputEventArray inputEventArray = {};
178    int64_t blockTime = 10;
179    int32_t value = 0;
180    DeviceBaseDemo deviceBaseDemo;
181    deviceBaseDemo.SetTrackingId(inputEventArray, blockTime, value);
182    EXPECT_GT(inputEventArray.events.size(), 0);
183    if (inputEventArray.events.size() <= 0) {
184        return;
185    }
186    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
187    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_TRACKING_ID);
188    EXPECT_EQ(inputEventArray.events[0].event.value, value);
189    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
190}
191
192/**
193 * @tc.name:Test_SetPositionX
194 * @tc.desc:Verify device base function SetPositionX
195 * @tc.type: FUNC
196 * @tc.require:
197 */
198HWTEST_F(DeviceBaseTest, Test_SetPositionX, TestSize.Level1)
199{
200    InputEventArray inputEventArray = {};
201    int64_t blockTime = 10;
202    int32_t value = 10;
203    DeviceBaseDemo deviceBaseDemo;
204    deviceBaseDemo.SetPositionX(inputEventArray, blockTime, value);
205    EXPECT_GT(inputEventArray.events.size(), 0);
206    if (inputEventArray.events.size() <= 0) {
207        return;
208    }
209    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
210    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_POSITION_X);
211    EXPECT_EQ(inputEventArray.events[0].event.value, value);
212    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
213}
214
215/**
216 * @tc.name:Test_SetPositionY
217 * @tc.desc:Verify device base function SetPositionY
218 * @tc.type: FUNC
219 * @tc.require:
220 */
221HWTEST_F(DeviceBaseTest, Test_SetPositionY, TestSize.Level1)
222{
223    InputEventArray inputEventArray = {};
224    int64_t blockTime = 10;
225    int32_t value = 10;
226    DeviceBaseDemo deviceBaseDemo;
227    deviceBaseDemo.SetPositionY(inputEventArray, blockTime, value);
228    EXPECT_GT(inputEventArray.events.size(), 0);
229    if (inputEventArray.events.size() <= 0) {
230        return;
231    }
232    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
233    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_POSITION_Y);
234    EXPECT_EQ(inputEventArray.events[0].event.value, value);
235    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
236}
237
238/**
239 * @tc.name:Test_SetMtTouchMajor
240 * @tc.desc:Verify device base function SetMtTouchMajor
241 * @tc.type: FUNC
242 * @tc.require:
243 */
244HWTEST_F(DeviceBaseTest, Test_SetMtTouchMajor, TestSize.Level1)
245{
246    InputEventArray inputEventArray = {};
247    int64_t blockTime = 10;
248    int32_t value = 10;
249    DeviceBaseDemo deviceBaseDemo;
250    deviceBaseDemo.SetMtTouchMajor(inputEventArray, blockTime, value);
251    EXPECT_GT(inputEventArray.events.size(), 0);
252    if (inputEventArray.events.size() <= 0) {
253        return;
254    }
255    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
256    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_TOUCH_MAJOR);
257    EXPECT_EQ(inputEventArray.events[0].event.value, value);
258    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
259}
260
261/**
262 * @tc.name:Test_SetMtTouchMinor
263 * @tc.desc:Verify device base function SetMtTouchMinor
264 * @tc.type: FUNC
265 * @tc.require:
266 */
267HWTEST_F(DeviceBaseTest, Test_SetMtTouchMinor, TestSize.Level1)
268{
269    InputEventArray inputEventArray = {};
270    int64_t blockTime = 10;
271    int32_t value = 10;
272    DeviceBaseDemo deviceBaseDemo;
273    deviceBaseDemo.SetMtTouchMinor(inputEventArray, blockTime, value);
274    EXPECT_GT(inputEventArray.events.size(), 0);
275    if (inputEventArray.events.size() <= 0) {
276        return;
277    }
278    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
279    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_TOUCH_MINOR);
280    EXPECT_EQ(inputEventArray.events[0].event.value, value);
281    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
282}
283
284/**
285 * @tc.name:Test_SetMtOrientation
286 * @tc.desc:Verify device base function SetMtOrientation
287 * @tc.type: FUNC
288 * @tc.require:
289 */
290HWTEST_F(DeviceBaseTest, Test_SetMtOrientation, TestSize.Level1)
291{
292    InputEventArray inputEventArray = {};
293    int64_t blockTime = 10;
294    int32_t value = 10;
295    DeviceBaseDemo deviceBaseDemo;
296    deviceBaseDemo.SetMtOrientation(inputEventArray, blockTime, value);
297    EXPECT_GT(inputEventArray.events.size(), 0);
298    if (inputEventArray.events.size() <= 0) {
299        return;
300    }
301    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
302    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MT_ORIENTATION);
303    EXPECT_EQ(inputEventArray.events[0].event.value, value);
304    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
305}
306
307/**
308 * @tc.name:Test_SetBtnTouch
309 * @tc.desc:Verify device base function SetBtnTouch
310 * @tc.type: FUNC
311 * @tc.require:
312 */
313HWTEST_F(DeviceBaseTest, Test_SetBtnTouch, TestSize.Level1)
314{
315    InputEventArray inputEventArray = {};
316    int64_t blockTime = 10;
317    int32_t value = 10;
318    DeviceBaseDemo deviceBaseDemo;
319    deviceBaseDemo.SetBtnTouch(inputEventArray, blockTime, value);
320    EXPECT_GT(inputEventArray.events.size(), 0);
321    if (inputEventArray.events.size() <= 0) {
322        return;
323    }
324    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
325    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOUCH);
326    EXPECT_EQ(inputEventArray.events[0].event.value, value);
327    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
328}
329
330/**
331 * @tc.name:Test_SetEvAbsX
332 * @tc.desc:Verify device base function SetEvAbsX
333 * @tc.type: FUNC
334 * @tc.require:
335 */
336HWTEST_F(DeviceBaseTest, Test_SetEvAbsX, TestSize.Level1)
337{
338    InputEventArray inputEventArray = {};
339    int64_t blockTime = 10;
340    int32_t value = 10;
341    DeviceBaseDemo deviceBaseDemo;
342    deviceBaseDemo.SetEvAbsX(inputEventArray, blockTime, value);
343    EXPECT_GT(inputEventArray.events.size(), 0);
344    if (inputEventArray.events.size() <= 0) {
345        return;
346    }
347    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
348    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_X);
349    EXPECT_EQ(inputEventArray.events[0].event.value, value);
350    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
351}
352
353/**
354 * @tc.name:Test_SetEvAbsY
355 * @tc.desc:Verify device base function SetEvAbsY
356 * @tc.type: FUNC
357 * @tc.require:
358 */
359HWTEST_F(DeviceBaseTest, Test_SetEvAbsY, TestSize.Level1)
360{
361    InputEventArray inputEventArray = {};
362    int64_t blockTime = 10;
363    int32_t value = 10;
364    DeviceBaseDemo deviceBaseDemo;
365    deviceBaseDemo.SetEvAbsY(inputEventArray, blockTime, value);
366    EXPECT_GT(inputEventArray.events.size(), 0);
367    if (inputEventArray.events.size() <= 0) {
368        return;
369    }
370    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
371    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_Y);
372    EXPECT_EQ(inputEventArray.events[0].event.value, value);
373    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
374}
375
376/**
377 * @tc.name:Test_SetMtTouchOneFingerType
378 * @tc.desc:Verify device base function SetMtTouchFingerType
379 * @tc.type: FUNC
380 * @tc.require:
381 */
382HWTEST_F(DeviceBaseTest, Test_SetMtTouchOneFingerType, TestSize.Level1)
383{
384    InputEventArray inputEventArray = {};
385    int64_t blockTime = 10;
386    int32_t value = 1;
387    int32_t status = 1;
388    DeviceBaseDemo deviceBaseDemo;
389    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
390    EXPECT_GT(inputEventArray.events.size(), 0);
391    if (inputEventArray.events.size() <= 0) {
392        return;
393    }
394    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
395    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_FINGER);
396    EXPECT_EQ(inputEventArray.events[0].event.value, status);
397    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
398}
399
400/**
401 * @tc.name:Test_SetMtTouchTwoFingerType
402 * @tc.desc:Verify device base function SetMtTouchFingerType
403 * @tc.type: FUNC
404 * @tc.require:
405 */
406HWTEST_F(DeviceBaseTest, Test_SetMtTouchTwoFingerType, TestSize.Level1)
407{
408    InputEventArray inputEventArray = {};
409    int64_t blockTime = 10;
410    int32_t value = 2;
411    int32_t status = 1;
412    DeviceBaseDemo deviceBaseDemo;
413    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
414    EXPECT_GT(inputEventArray.events.size(), 0);
415    if (inputEventArray.events.size() <= 0) {
416        return;
417    }
418    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
419    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_DOUBLETAP);
420    EXPECT_EQ(inputEventArray.events[0].event.value, status);
421    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
422}
423
424/**
425 * @tc.name:Test_SetMtTouchThreeFingerType
426 * @tc.desc:Verify device base function SetMtTouchFingerType
427 * @tc.type: FUNC
428 * @tc.require:
429 */
430HWTEST_F(DeviceBaseTest, Test_SetMtTouchThreeFingerType, TestSize.Level1)
431{
432    InputEventArray inputEventArray = {};
433    int64_t blockTime = 10;
434    int32_t status = 1;
435    int32_t value = 3;
436    DeviceBaseDemo deviceBaseDemo;
437    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
438    EXPECT_GT(inputEventArray.events.size(), 0);
439    if (inputEventArray.events.size() <= 0) {
440        return;
441    }
442    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_TRIPLETAP);
443    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
444    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
445    EXPECT_EQ(inputEventArray.events[0].event.value, status);
446}
447
448/**
449 * @tc.name:Test_SetMtTouchFourFingerType
450 * @tc.desc:Verify device base function SetMtTouchFingerType
451 * @tc.type: FUNC
452 * @tc.require:
453 */
454HWTEST_F(DeviceBaseTest, Test_SetMtTouchFourFingerType, TestSize.Level1)
455{
456    InputEventArray inputEventArray = {};
457    int64_t blockTime = 10;
458    int32_t value = 4;
459    int32_t status = 1;
460    DeviceBaseDemo deviceBaseDemo;
461    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
462    EXPECT_GT(inputEventArray.events.size(), 0);
463    if (inputEventArray.events.size() <= 0) {
464        return;
465    }
466    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
467    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_QUADTAP);
468    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
469    EXPECT_EQ(inputEventArray.events[0].event.value, status);
470}
471
472/**
473 * @tc.name:Test_SetMtTouchFiveFingerType
474 * @tc.desc:Verify device base function SetMtTouchFingerType
475 * @tc.type: FUNC
476 * @tc.require:
477 */
478HWTEST_F(DeviceBaseTest, Test_SetMtTouchFiveFingerType, TestSize.Level1)
479{
480    InputEventArray inputEventArray = {};
481    int64_t blockTime = 10;
482    int32_t value = 5;
483    int32_t status = 1;
484    DeviceBaseDemo deviceBaseDemo;
485    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
486    EXPECT_GT(inputEventArray.events.size(), 0);
487    if (inputEventArray.events.size() <= 0) {
488        return;
489    }
490    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_QUINTTAP);
491    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
492    EXPECT_EQ(inputEventArray.events[0].event.value, status);
493    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
494}
495
496/**
497 * @tc.name:Test_SetMtTouchOtherFingerType
498 * @tc.desc:Verify device base function SetMtTouchFingerType
499 * @tc.type: FUNC
500 * @tc.require:
501 */
502HWTEST_F(DeviceBaseTest, Test_SetMtTouchOtherFingerType, TestSize.Level1)
503{
504    InputEventArray inputEventArray = {};
505    int32_t value = 6;
506    int32_t status = 1;
507    int64_t blockTime = 10;
508    DeviceBaseDemo deviceBaseDemo;
509    deviceBaseDemo.SetMtTouchFingerType(inputEventArray, blockTime, value, status);
510    EXPECT_GT(inputEventArray.events.size(), 0);
511    if (inputEventArray.events.size() <= 0) {
512        return;
513    }
514    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_FINGER);
515    EXPECT_EQ(inputEventArray.events[0].event.value, status);
516    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
517    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
518}
519
520/**
521 * @tc.name:Test_SetEvAbsZ
522 * @tc.desc:Verify device base function SetEvAbsZ
523 * @tc.type: FUNC
524 * @tc.require:
525 */
526HWTEST_F(DeviceBaseTest, Test_SetEvAbsZ, TestSize.Level1)
527{
528    InputEventArray inputEventArray = {};
529    int64_t blockTime = 10;
530    int32_t value = 5;
531    DeviceBaseDemo deviceBaseDemo;
532    deviceBaseDemo.SetEvAbsZ(inputEventArray, blockTime, value);
533    EXPECT_GT(inputEventArray.events.size(), 0);
534    if (inputEventArray.events.size() <= 0) {
535        return;
536    }
537    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
538    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_Z);
539    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
540    EXPECT_EQ(inputEventArray.events[0].event.value, value);
541}
542
543/**
544 * @tc.name:Test_SetEvAbsRx
545 * @tc.desc:Verify device base function SetEvAbsRx
546 * @tc.type: FUNC
547 * @tc.require:
548 */
549HWTEST_F(DeviceBaseTest, Test_SetEvAbsRx, TestSize.Level1)
550{
551    InputEventArray inputEventArray = {};
552    int32_t value = 5;
553    int64_t blockTime = 10;
554    DeviceBaseDemo deviceBaseDemo;
555    deviceBaseDemo.SetEvAbsRx(inputEventArray, blockTime, value);
556    EXPECT_GT(inputEventArray.events.size(), 0);
557    if (inputEventArray.events.size() <= 0) {
558        return;
559    }
560    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
561    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_RX);
562    EXPECT_EQ(inputEventArray.events[0].event.value, value);
563    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
564}
565
566/**
567 * @tc.name:Test_SetEvAbsRy
568 * @tc.desc:Verify device base function SetEvAbsRy
569 * @tc.type: FUNC
570 * @tc.require:
571 */
572HWTEST_F(DeviceBaseTest, Test_SetEvAbsRy, TestSize.Level1)
573{
574    InputEventArray inputEventArray = {};
575    int64_t blockTime = 10;
576    int32_t value = 5;
577    DeviceBaseDemo deviceBaseDemo;
578    deviceBaseDemo.SetEvAbsRy(inputEventArray, blockTime, value);
579    EXPECT_GT(inputEventArray.events.size(), 0);
580    if (inputEventArray.events.size() <= 0) {
581        return;
582    }
583    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_RY);
584    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
585    EXPECT_EQ(inputEventArray.events[0].event.value, value);
586    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
587}
588
589/**
590 * @tc.name:Test_SetEvAbsHat0X
591 * @tc.desc:Verify device base function SetEvAbsHat0X
592 * @tc.type: FUNC
593 * @tc.require:
594 */
595HWTEST_F(DeviceBaseTest, Test_SetEvAbsHat0X, TestSize.Level1)
596{
597    InputEventArray inputEventArray = {};
598    int64_t blockTime = 10;
599    int32_t value = 5;
600    DeviceBaseDemo deviceBaseDemo;
601    deviceBaseDemo.SetEvAbsHat0X(inputEventArray, blockTime, value);
602    EXPECT_GT(inputEventArray.events.size(), 0);
603    if (inputEventArray.events.size() <= 0) {
604        return;
605    }
606    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
607    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_HAT0X);
608    EXPECT_EQ(inputEventArray.events[0].event.value, value);
609    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
610}
611
612/**
613 * @tc.name:Test_SetEvAbsHat0Y
614 * @tc.desc:Verify device base function SetEvAbsHat0Y
615 * @tc.type: FUNC
616 * @tc.require:
617 */
618HWTEST_F(DeviceBaseTest, Test_SetEvAbsHat0Y, TestSize.Level1)
619{
620    InputEventArray inputEventArray = {};
621    int64_t blockTime = 10;
622    int32_t value = 5;
623    DeviceBaseDemo deviceBaseDemo;
624    deviceBaseDemo.SetEvAbsHat0Y(inputEventArray, blockTime, value);
625    EXPECT_GT(inputEventArray.events.size(), 0);
626    if (inputEventArray.events.size() <= 0) {
627        return;
628    }
629    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
630    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_HAT0Y);
631    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
632    EXPECT_EQ(inputEventArray.events[0].event.value, value);
633}
634
635/**
636 * @tc.name:Test_SetEvAbsRz
637 * @tc.desc:Verify device base function SetEvAbsRz
638 * @tc.type: FUNC
639 * @tc.require:
640 */
641HWTEST_F(DeviceBaseTest, Test_SetEvAbsRz, TestSize.Level1)
642{
643    InputEventArray inputEventArray = {};
644    int64_t blockTime = 10;
645    int32_t value = 5;
646    DeviceBaseDemo deviceBaseDemo;
647    deviceBaseDemo.SetEvAbsRz(inputEventArray, blockTime, value);
648    EXPECT_GT(inputEventArray.events.size(), 0);
649    if (inputEventArray.events.size() <= 0) {
650        return;
651    }
652    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_RZ);
653    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
654    EXPECT_EQ(inputEventArray.events[0].event.value, value);
655    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
656}
657
658/**
659 * @tc.name:Test_SetEvAbs
660 * @tc.desc:Verify device base function SetEvAbs
661 * @tc.type: FUNC
662 * @tc.require:
663 */
664HWTEST_F(DeviceBaseTest, Test_SetEvAbs, TestSize.Level1)
665{
666    InputEventArray inputEventArray = {};
667    int64_t blockTime = 10;
668    int32_t value = 5;
669    uint16_t code = 0;
670    DeviceBaseDemo deviceBaseDemo;
671    deviceBaseDemo.SetEvAbs(inputEventArray, blockTime, code, value);
672    EXPECT_GT(inputEventArray.events.size(), 0);
673    if (inputEventArray.events.size() <= 0) {
674        return;
675    }
676    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
677    EXPECT_EQ(inputEventArray.events[0].event.code, code);
678    EXPECT_EQ(inputEventArray.events[0].event.value, value);
679    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
680}
681
682/**
683 * @tc.name:Test_SetRelX
684 * @tc.desc:Verify device base function SetRelX
685 * @tc.type: FUNC
686 * @tc.require:
687 */
688HWTEST_F(DeviceBaseTest, Test_SetRelX, TestSize.Level1)
689{
690    InputEventArray inputEventArray = {};
691    int64_t blockTime = 10;
692    int32_t value = 5;
693    DeviceBaseDemo deviceBaseDemo;
694    deviceBaseDemo.SetRelX(inputEventArray, blockTime, value);
695    EXPECT_GT(inputEventArray.events.size(), 0);
696    if (inputEventArray.events.size() <= 0) {
697        return;
698    }
699    EXPECT_EQ(inputEventArray.events[0].event.type, EV_REL);
700    EXPECT_EQ(inputEventArray.events[0].event.code, REL_X);
701    EXPECT_EQ(inputEventArray.events[0].event.value, value);
702    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
703}
704
705/**
706 * @tc.name:Test_SetRelY
707 * @tc.desc:Verify device base function SetRelY
708 * @tc.type: FUNC
709 * @tc.require:
710 */
711HWTEST_F(DeviceBaseTest, Test_SetRelY, TestSize.Level1)
712{
713    InputEventArray inputEventArray = {};
714    int64_t blockTime = 10;
715    int32_t value = 5;
716    DeviceBaseDemo deviceBaseDemo;
717    deviceBaseDemo.SetRelY(inputEventArray, blockTime, value);
718    EXPECT_GT(inputEventArray.events.size(), 0);
719    if (inputEventArray.events.size() <= 0) {
720        return;
721    }
722    EXPECT_EQ(inputEventArray.events[0].event.type, EV_REL);
723    EXPECT_EQ(inputEventArray.events[0].event.code, REL_Y);
724    EXPECT_EQ(inputEventArray.events[0].event.value, value);
725    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
726}
727
728/**
729 * @tc.name:Test_SetRelWheel
730 * @tc.desc:Verify device base function SetRelWheel
731 * @tc.type: FUNC
732 * @tc.require:
733 */
734HWTEST_F(DeviceBaseTest, Test_SetRelWheel, TestSize.Level1)
735{
736    InputEventArray inputEventArray = {};
737    int64_t blockTime = 10;
738    int32_t value = 5;
739    DeviceBaseDemo deviceBaseDemo;
740    deviceBaseDemo.SetRelWheel(inputEventArray, blockTime, value);
741    EXPECT_GT(inputEventArray.events.size(), 0);
742    if (inputEventArray.events.size() <= 0) {
743        return;
744    }
745    EXPECT_EQ(inputEventArray.events[0].event.type, EV_REL);
746    EXPECT_EQ(inputEventArray.events[0].event.code, REL_WHEEL);
747    EXPECT_EQ(inputEventArray.events[0].event.value, value);
748    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
749}
750
751/**
752 * @tc.name:Test_SetRelHwheel
753 * @tc.desc:Verify device base function SetRelHwheel
754 * @tc.type: FUNC
755 * @tc.require:
756 */
757HWTEST_F(DeviceBaseTest, Test_SetRelHwheel, TestSize.Level1)
758{
759    InputEventArray inputEventArray = {};
760    int64_t blockTime = 10;
761    int32_t value = 5;
762    DeviceBaseDemo deviceBaseDemo;
763    deviceBaseDemo.SetRelHwheel(inputEventArray, blockTime, value);
764    EXPECT_GT(inputEventArray.events.size(), 0);
765    if (inputEventArray.events.size() <= 0) {
766        return;
767    }
768    EXPECT_EQ(inputEventArray.events[0].event.type, EV_REL);
769    EXPECT_EQ(inputEventArray.events[0].event.code, REL_HWHEEL);
770    EXPECT_EQ(inputEventArray.events[0].event.value, value);
771    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
772}
773
774/**
775 * @tc.name:Test_SetEvAbsWheel
776 * @tc.desc:Verify device base function SetEvAbsWheel
777 * @tc.type: FUNC
778 * @tc.require:
779 */
780HWTEST_F(DeviceBaseTest, Test_SetEvAbsWheel, TestSize.Level1)
781{
782    InputEventArray inputEventArray = {};
783    int64_t blockTime = 10;
784    int32_t value = 5;
785    DeviceBaseDemo deviceBaseDemo;
786    deviceBaseDemo.SetEvAbsWheel(inputEventArray, blockTime, value);
787    EXPECT_GT(inputEventArray.events.size(), 0);
788    if (inputEventArray.events.size() <= 0) {
789        return;
790    }
791    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
792    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_WHEEL);
793    EXPECT_EQ(inputEventArray.events[0].event.value, value);
794    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
795}
796
797/**
798 * @tc.name:Test_SetAbsMiscStartStatus
799 * @tc.desc:Verify device base function SetAbsMisc
800 * @tc.type: FUNC
801 * @tc.require:
802 */
803HWTEST_F(DeviceBaseTest, Test_SetAbsMiscStartStatus, TestSize.Level1)
804{
805    InputEventArray inputEventArray = {};
806    int64_t blockTime = 10;
807    int32_t value = 1;
808    DeviceBaseDemo deviceBaseDemo;
809    deviceBaseDemo.SetAbsMisc(inputEventArray, blockTime, value);
810    EXPECT_GT(inputEventArray.events.size(), 0);
811    if (inputEventArray.events.size() <= 0) {
812        return;
813    }
814    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
815    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MISC);
816    EXPECT_EQ(inputEventArray.events[0].event.value, 15);
817    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
818}
819
820/**
821 * @tc.name:Test_SetAbsMiscEndStatus
822 * @tc.desc:Verify device base function SetAbsMisc
823 * @tc.type: FUNC
824 * @tc.require:
825 */
826HWTEST_F(DeviceBaseTest, Test_SetAbsMiscEndStatus, TestSize.Level1)
827{
828    InputEventArray inputEventArray = {};
829    int64_t blockTime = 10;
830    int32_t value = 2;
831    DeviceBaseDemo deviceBaseDemo;
832    deviceBaseDemo.SetAbsMisc(inputEventArray, blockTime, value);
833    EXPECT_GT(inputEventArray.events.size(), 0);
834    if (inputEventArray.events.size() <= 0) {
835        return;
836    }
837    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
838    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_MISC);
839    EXPECT_EQ(inputEventArray.events[0].event.value, 0);
840    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
841}
842
843/**
844 * @tc.name:Test_SetAbsTiltX
845 * @tc.desc:Verify device base function SetAbsTiltX
846 * @tc.type: FUNC
847 * @tc.require:
848 */
849HWTEST_F(DeviceBaseTest, Test_SetAbsTiltX, TestSize.Level1)
850{
851    InputEventArray inputEventArray = {};
852    int64_t blockTime = 10;
853    int32_t value = 20;
854    DeviceBaseDemo deviceBaseDemo;
855    deviceBaseDemo.SetAbsTiltX(inputEventArray, blockTime, value);
856    EXPECT_GT(inputEventArray.events.size(), 0);
857    if (inputEventArray.events.size() <= 0) {
858        return;
859    }
860    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
861    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_TILT_X);
862    EXPECT_EQ(inputEventArray.events[0].event.value, value);
863    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
864}
865
866/**
867 * @tc.name:Test_SetAbsTiltY
868 * @tc.desc:Verify device base function SetAbsTiltY
869 * @tc.type: FUNC
870 * @tc.require:
871 */
872HWTEST_F(DeviceBaseTest, Test_SetAbsTiltY, TestSize.Level1)
873{
874    InputEventArray inputEventArray = {};
875    int64_t blockTime = 10;
876    int32_t value = 20;
877    DeviceBaseDemo deviceBaseDemo;
878    deviceBaseDemo.SetAbsTiltY(inputEventArray, blockTime, value);
879    EXPECT_GT(inputEventArray.events.size(), 0);
880    if (inputEventArray.events.size() <= 0) {
881        return;
882    }
883    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
884    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_TILT_Y);
885    EXPECT_EQ(inputEventArray.events[0].event.value, value);
886    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
887}
888
889/**
890 * @tc.name:Test_SetAbsPressure
891 * @tc.desc:Verify device base function SetAbsPressure
892 * @tc.type: FUNC
893 * @tc.require:
894 */
895HWTEST_F(DeviceBaseTest, Test_SetAbsPressure, TestSize.Level1)
896{
897    InputEventArray inputEventArray = {};
898    int64_t blockTime = 10;
899    int32_t value = 20;
900    DeviceBaseDemo deviceBaseDemo;
901    deviceBaseDemo.SetAbsPressure(inputEventArray, blockTime, value);
902    EXPECT_GT(inputEventArray.events.size(), 0);
903    if (inputEventArray.events.size() <= 0) {
904        return;
905    }
906    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
907    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_PRESSURE);
908    EXPECT_EQ(inputEventArray.events[0].event.value, value);
909    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
910}
911
912/**
913 * @tc.name:Test_SetAbsDistance
914 * @tc.desc:Verify device base function SetAbsDistance
915 * @tc.type: FUNC
916 * @tc.require:
917 */
918HWTEST_F(DeviceBaseTest, Test_SetAbsDistance, TestSize.Level1)
919{
920    InputEventArray inputEventArray = {};
921    int64_t blockTime = 10;
922    int32_t value = 20;
923    DeviceBaseDemo deviceBaseDemo;
924    deviceBaseDemo.SetAbsDistance(inputEventArray, blockTime, value);
925    EXPECT_GT(inputEventArray.events.size(), 0);
926    if (inputEventArray.events.size() <= 0) {
927        return;
928    }
929    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
930    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_DISTANCE);
931    EXPECT_EQ(inputEventArray.events[0].event.value, value);
932    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
933}
934
935/**
936 * @tc.name:Test_SetBtnPen
937 * @tc.desc:Verify device base function SetBtnPen
938 * @tc.type: FUNC
939 * @tc.require:
940 */
941HWTEST_F(DeviceBaseTest, Test_SetBtnPen, TestSize.Level1)
942{
943    InputEventArray inputEventArray = {};
944    int64_t blockTime = 10;
945    int32_t value = 20;
946    DeviceBaseDemo deviceBaseDemo;
947    deviceBaseDemo.SetBtnPen(inputEventArray, blockTime, value);
948    EXPECT_GT(inputEventArray.events.size(), 0);
949    if (inputEventArray.events.size() <= 0) {
950        return;
951    }
952    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
953    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_PEN);
954    EXPECT_EQ(inputEventArray.events[0].event.value, value);
955    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
956}
957
958/**
959 * @tc.name:Test_SetBtnStylus
960 * @tc.desc:Verify device base function SetBtnStylus
961 * @tc.type: FUNC
962 * @tc.require:
963 */
964HWTEST_F(DeviceBaseTest, Test_SetBtnStylus, TestSize.Level1)
965{
966    InputEventArray inputEventArray = {};
967    int64_t blockTime = 10;
968    int32_t value = 20;
969    uint16_t code = BTN_STYLUS;
970    DeviceBaseDemo deviceBaseDemo;
971    deviceBaseDemo.SetBtnStylus(inputEventArray, blockTime, code, value);
972    EXPECT_GT(inputEventArray.events.size(), 0);
973    if (inputEventArray.events.size() <= 0) {
974        return;
975    }
976    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
977    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_STYLUS);
978    EXPECT_EQ(inputEventArray.events[0].event.value, value);
979    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
980}
981
982/**
983 * @tc.name:Test_SetBtnRubber
984 * @tc.desc:Verify device base function SetBtnRubber
985 * @tc.type: FUNC
986 * @tc.require:
987 */
988HWTEST_F(DeviceBaseTest, Test_SetBtnRubber, TestSize.Level1)
989{
990    InputEventArray inputEventArray = {};
991    int64_t blockTime = 10;
992    int32_t value = 20;
993    DeviceBaseDemo deviceBaseDemo;
994    deviceBaseDemo.SetBtnRubber(inputEventArray, blockTime, value);
995    EXPECT_GT(inputEventArray.events.size(), 0);
996    if (inputEventArray.events.size() <= 0) {
997        return;
998    }
999    EXPECT_EQ(inputEventArray.events[0].event.type, EV_KEY);
1000    EXPECT_EQ(inputEventArray.events[0].event.code, BTN_TOOL_RUBBER);
1001    EXPECT_EQ(inputEventArray.events[0].event.value, value);
1002    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
1003}
1004
1005/**
1006 * @tc.name:Test_SetMscSerial
1007 * @tc.desc:Verify device base function SetMscSerial
1008 * @tc.type: FUNC
1009 * @tc.require:
1010 */
1011HWTEST_F(DeviceBaseTest, Test_SetMscSerial, TestSize.Level1)
1012{
1013    InputEventArray inputEventArray = {};
1014    int64_t blockTime = 10;
1015    int32_t value = 20;
1016    DeviceBaseDemo deviceBaseDemo;
1017    deviceBaseDemo.SetMscSerial(inputEventArray, blockTime, value);
1018    EXPECT_GT(inputEventArray.events.size(), 0);
1019    if (inputEventArray.events.size() <= 0) {
1020        return;
1021    }
1022    EXPECT_EQ(inputEventArray.events[0].event.type, EV_MSC);
1023    EXPECT_EQ(inputEventArray.events[0].event.code, MSC_SERIAL);
1024    EXPECT_EQ(inputEventArray.events[0].event.value, value);
1025    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
1026}
1027
1028/**
1029 * @tc.name:Test_SetSynMtReport
1030 * @tc.desc:Verify device base function SetSynMtReport
1031 * @tc.type: FUNC
1032 * @tc.require:
1033 */
1034HWTEST_F(DeviceBaseTest, Test_SetSynMtReport, TestSize.Level1)
1035{
1036    InputEventArray inputEventArray = {};
1037    int64_t blockTime = 10;
1038    int32_t value = 0;
1039    DeviceBaseDemo deviceBaseDemo;
1040    deviceBaseDemo.SetSynMtReport(inputEventArray, blockTime, value);
1041    EXPECT_GT(inputEventArray.events.size(), 0);
1042    if (inputEventArray.events.size() <= 0) {
1043        return;
1044    }
1045    EXPECT_EQ(inputEventArray.events[0].event.type, EV_SYN);
1046    EXPECT_EQ(inputEventArray.events[0].event.code, SYN_MT_REPORT);
1047    EXPECT_EQ(inputEventArray.events[0].event.value, value);
1048    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
1049}
1050
1051/**
1052 * @tc.name:Test_SetThrottle
1053 * @tc.desc:Verify device base function SetThrottle
1054 * @tc.type: FUNC
1055 * @tc.require:
1056 */
1057HWTEST_F(DeviceBaseTest, Test_SetThrottle, TestSize.Level1)
1058{
1059    InputEventArray inputEventArray = {};
1060    int64_t blockTime = 10;
1061    int32_t value = 0;
1062    DeviceBaseDemo deviceBaseDemo;
1063    deviceBaseDemo.SetThrottle(inputEventArray, blockTime, value);
1064    EXPECT_GT(inputEventArray.events.size(), 0);
1065    if (inputEventArray.events.size() <= 0) {
1066        return;
1067    }
1068    EXPECT_EQ(inputEventArray.events[0].event.type, EV_ABS);
1069    EXPECT_EQ(inputEventArray.events[0].event.code, ABS_THROTTLE);
1070    EXPECT_EQ(inputEventArray.events[0].event.value, value);
1071    EXPECT_EQ(inputEventArray.events[0].blockTime, blockTime);
1072}
1073} // namespace MMI
1074} // namespace OHOS