1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License.
5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at
6c29fa5a6Sopenharmony_ci *
7c29fa5a6Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8c29fa5a6Sopenharmony_ci *
9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and
13c29fa5a6Sopenharmony_ci * limitations under the License.
14c29fa5a6Sopenharmony_ci */
15c29fa5a6Sopenharmony_ci
16c29fa5a6Sopenharmony_ci#define private public
17c29fa5a6Sopenharmony_ci#define protected public
18c29fa5a6Sopenharmony_ci
19c29fa5a6Sopenharmony_ci#include <gtest/gtest.h>
20c29fa5a6Sopenharmony_ci
21c29fa5a6Sopenharmony_ci#include "device.h"
22c29fa5a6Sopenharmony_ci#include "device_manager.h"
23c29fa5a6Sopenharmony_ci#include "fi_log.h"
24c29fa5a6Sopenharmony_ci
25c29fa5a6Sopenharmony_ci#undef LOG_TAG
26c29fa5a6Sopenharmony_ci#define LOG_TAG "DeviceTest"
27c29fa5a6Sopenharmony_ci
28c29fa5a6Sopenharmony_cinamespace OHOS {
29c29fa5a6Sopenharmony_cinamespace Msdp {
30c29fa5a6Sopenharmony_cinamespace DeviceStatus {
31c29fa5a6Sopenharmony_ciusing namespace testing::ext;
32c29fa5a6Sopenharmony_ci
33c29fa5a6Sopenharmony_ciDeviceManager devmg_;
34c29fa5a6Sopenharmony_ciconst std::string devNode_ = { "event0" };
35c29fa5a6Sopenharmony_ciconst std::string devPath_ = { "/dev/input/event0" };
36c29fa5a6Sopenharmony_ciconstexpr int32_t INDEX_TWO { 2 };
37c29fa5a6Sopenharmony_ciconstexpr int32_t INDEX_THREE { 3 };
38c29fa5a6Sopenharmony_ciconstexpr int32_t INDEX_NINE { 9 };
39c29fa5a6Sopenharmony_ciconstexpr int32_t INDEX_TWELVE { 12 };
40c29fa5a6Sopenharmony_ciconstexpr int32_t INDEX_TWENTY_THREE { 23 };
41c29fa5a6Sopenharmony_ciconstexpr int32_t NUM_ONE { 1 };
42c29fa5a6Sopenharmony_ciconstexpr int32_t NUM_SIXTY_FOUR { 64 };
43c29fa5a6Sopenharmony_ciconstexpr int32_t NUM_HUNDRED_TWENTY_EIGHT { 128 };
44c29fa5a6Sopenharmony_ciconstexpr int32_t NUM_THIRTY_TWO { 32 };
45c29fa5a6Sopenharmony_ciconstexpr int32_t NUM_TWO { 2 };
46c29fa5a6Sopenharmony_ciint32_t deviceId_ = devmg_.ParseDeviceId(devNode_);
47c29fa5a6Sopenharmony_ci
48c29fa5a6Sopenharmony_ciclass DeviceTest : public testing::Test {
49c29fa5a6Sopenharmony_cipublic:
50c29fa5a6Sopenharmony_ci    static void SetUpTestCase() {};
51c29fa5a6Sopenharmony_ci    static void TearDownTestCase() {};
52c29fa5a6Sopenharmony_ci    void SetUp() {};
53c29fa5a6Sopenharmony_ci    void TearDown() {};
54c29fa5a6Sopenharmony_ci};
55c29fa5a6Sopenharmony_ci
56c29fa5a6Sopenharmony_ci/**
57c29fa5a6Sopenharmony_ci * @tc.name: OpenTest001
58c29fa5a6Sopenharmony_ci * @tc.desc: Test func named open device
59c29fa5a6Sopenharmony_ci * @tc.type: FUNC
60c29fa5a6Sopenharmony_ci */
61c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, OpenTest001, TestSize.Level0)
62c29fa5a6Sopenharmony_ci{
63c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
64c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
65c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
66c29fa5a6Sopenharmony_ci    CHKPV(dev);
67c29fa5a6Sopenharmony_ci    dev->SetDevPath(devPath_);
68c29fa5a6Sopenharmony_ci    int32_t ret = dev->Open();
69c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_OK);
70c29fa5a6Sopenharmony_ci    dev->Close();
71c29fa5a6Sopenharmony_ci}
72c29fa5a6Sopenharmony_ci
73c29fa5a6Sopenharmony_ci/**
74c29fa5a6Sopenharmony_ci * @tc.name: OpenTest002
75c29fa5a6Sopenharmony_ci * @tc.desc: Test func named open device
76c29fa5a6Sopenharmony_ci * @tc.type: FUNC
77c29fa5a6Sopenharmony_ci */
78c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, OpenTest002, TestSize.Level0)
79c29fa5a6Sopenharmony_ci{
80c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
81c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
82c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
83c29fa5a6Sopenharmony_ci    CHKPV(dev);
84c29fa5a6Sopenharmony_ci    int32_t ret = dev->Open();
85c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
86c29fa5a6Sopenharmony_ci}
87c29fa5a6Sopenharmony_ci
88c29fa5a6Sopenharmony_ci/**
89c29fa5a6Sopenharmony_ci * @tc.name: CloseTest001
90c29fa5a6Sopenharmony_ci * @tc.desc: Test func named close device
91c29fa5a6Sopenharmony_ci * @tc.type: FUNC
92c29fa5a6Sopenharmony_ci */
93c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, CloseTest001, TestSize.Level0)
94c29fa5a6Sopenharmony_ci{
95c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
96c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
97c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
98c29fa5a6Sopenharmony_ci    CHKPV(dev);
99c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev->Close());
100c29fa5a6Sopenharmony_ci}
101c29fa5a6Sopenharmony_ci
102c29fa5a6Sopenharmony_ci/**
103c29fa5a6Sopenharmony_ci * @tc.name: QueryDeviceInfoTest001
104c29fa5a6Sopenharmony_ci * @tc.desc: Test func named QueryDeviceInfo
105c29fa5a6Sopenharmony_ci * @tc.type: FUNC
106c29fa5a6Sopenharmony_ci */
107c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, QueryDeviceInfoTest001, TestSize.Level0)
108c29fa5a6Sopenharmony_ci{
109c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
110c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
111c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
112c29fa5a6Sopenharmony_ci    CHKPV(dev);
113c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev->QueryDeviceInfo());
114c29fa5a6Sopenharmony_ci    delete dev;
115c29fa5a6Sopenharmony_ci    dev = nullptr;
116c29fa5a6Sopenharmony_ci}
117c29fa5a6Sopenharmony_ci
118c29fa5a6Sopenharmony_ci/**
119c29fa5a6Sopenharmony_ci * @tc.name: CheckAbsTest001
120c29fa5a6Sopenharmony_ci * @tc.desc: Test func named CheckAbs
121c29fa5a6Sopenharmony_ci * @tc.type: FUNC
122c29fa5a6Sopenharmony_ci */
123c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, CheckAbsTest001, TestSize.Level0)
124c29fa5a6Sopenharmony_ci{
125c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
126c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
127c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
128c29fa5a6Sopenharmony_ci    CHKPV(dev);
129c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev->CheckAbs());
130c29fa5a6Sopenharmony_ci    delete dev;
131c29fa5a6Sopenharmony_ci    dev = nullptr;
132c29fa5a6Sopenharmony_ci}
133c29fa5a6Sopenharmony_ci
134c29fa5a6Sopenharmony_ci/**
135c29fa5a6Sopenharmony_ci * @tc.name: CheckMtTest001
136c29fa5a6Sopenharmony_ci * @tc.desc: Test func named CheckMt
137c29fa5a6Sopenharmony_ci * @tc.type: FUNC
138c29fa5a6Sopenharmony_ci */
139c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, CheckMtTest001, TestSize.Level0)
140c29fa5a6Sopenharmony_ci{
141c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
142c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
143c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
144c29fa5a6Sopenharmony_ci    CHKPV(dev);
145c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev->CheckMt());
146c29fa5a6Sopenharmony_ci    delete dev;
147c29fa5a6Sopenharmony_ci    dev = nullptr;
148c29fa5a6Sopenharmony_ci}
149c29fa5a6Sopenharmony_ci
150c29fa5a6Sopenharmony_ci/**
151c29fa5a6Sopenharmony_ci * @tc.name: ReadConfigFileTest001
152c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ReadConfigFile
153c29fa5a6Sopenharmony_ci * @tc.type: FUNC
154c29fa5a6Sopenharmony_ci */
155c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ReadConfigFileTest001, TestSize.Level0)
156c29fa5a6Sopenharmony_ci{
157c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
158c29fa5a6Sopenharmony_ci    const std::string filePath = { "/system/etc/device_status/drag_icon/Copy_Drag.svg" };
159c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
160c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
161c29fa5a6Sopenharmony_ci    CHKPV(dev);
162c29fa5a6Sopenharmony_ci    int32_t ret = dev->ReadConfigFile(filePath);
163c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
164c29fa5a6Sopenharmony_ci    delete dev;
165c29fa5a6Sopenharmony_ci    dev = nullptr;
166c29fa5a6Sopenharmony_ci}
167c29fa5a6Sopenharmony_ci
168c29fa5a6Sopenharmony_ci/**
169c29fa5a6Sopenharmony_ci * @tc.name: ReadConfigFileTest002
170c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ReadConfigFile
171c29fa5a6Sopenharmony_ci * @tc.type: FUNC
172c29fa5a6Sopenharmony_ci */
173c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ReadConfigFileTest002, TestSize.Level0)
174c29fa5a6Sopenharmony_ci{
175c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
176c29fa5a6Sopenharmony_ci    const std::string filePath = "";
177c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
178c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
179c29fa5a6Sopenharmony_ci    CHKPV(dev);
180c29fa5a6Sopenharmony_ci    int32_t ret = dev->ReadConfigFile(filePath);
181c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
182c29fa5a6Sopenharmony_ci    delete dev;
183c29fa5a6Sopenharmony_ci    dev = nullptr;
184c29fa5a6Sopenharmony_ci}
185c29fa5a6Sopenharmony_ci
186c29fa5a6Sopenharmony_ci/**
187c29fa5a6Sopenharmony_ci * @tc.name: ConfigItemSwitchTest001
188c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ConfigItemSwitch
189c29fa5a6Sopenharmony_ci * @tc.type: FUNC
190c29fa5a6Sopenharmony_ci */
191c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ConfigItemSwitchTest001, TestSize.Level0)
192c29fa5a6Sopenharmony_ci{
193c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
194c29fa5a6Sopenharmony_ci    std::string configItem = "123456";
195c29fa5a6Sopenharmony_ci    std::string value = "123456";
196c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
197c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
198c29fa5a6Sopenharmony_ci    CHKPV(dev);
199c29fa5a6Sopenharmony_ci    int32_t ret = dev->ConfigItemSwitch(configItem, value);
200c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_OK);
201c29fa5a6Sopenharmony_ci    delete dev;
202c29fa5a6Sopenharmony_ci    dev = nullptr;
203c29fa5a6Sopenharmony_ci}
204c29fa5a6Sopenharmony_ci
205c29fa5a6Sopenharmony_ci/**
206c29fa5a6Sopenharmony_ci * @tc.name: ConfigItemSwitchTest002
207c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ConfigItemSwitch
208c29fa5a6Sopenharmony_ci * @tc.type: FUNC
209c29fa5a6Sopenharmony_ci */
210c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ConfigItemSwitchTest002, TestSize.Level0)
211c29fa5a6Sopenharmony_ci{
212c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
213c29fa5a6Sopenharmony_ci    std::string configItem = "";
214c29fa5a6Sopenharmony_ci    std::string value = "123456";
215c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
216c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
217c29fa5a6Sopenharmony_ci    CHKPV(dev);
218c29fa5a6Sopenharmony_ci    int32_t ret = dev->ConfigItemSwitch(configItem, value);
219c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
220c29fa5a6Sopenharmony_ci    delete dev;
221c29fa5a6Sopenharmony_ci    dev = nullptr;
222c29fa5a6Sopenharmony_ci}
223c29fa5a6Sopenharmony_ci
224c29fa5a6Sopenharmony_ci/**
225c29fa5a6Sopenharmony_ci * @tc.name: ConfigItemSwitchTest003
226c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ConfigItemSwitch
227c29fa5a6Sopenharmony_ci * @tc.type: FUNC
228c29fa5a6Sopenharmony_ci */
229c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ConfigItemSwitchTest003, TestSize.Level0)
230c29fa5a6Sopenharmony_ci{
231c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
232c29fa5a6Sopenharmony_ci    std::string configItem = "1234567";
233c29fa5a6Sopenharmony_ci    std::string value = "";
234c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
235c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
236c29fa5a6Sopenharmony_ci    CHKPV(dev);
237c29fa5a6Sopenharmony_ci    int32_t ret = dev->ConfigItemSwitch(configItem, value);
238c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
239c29fa5a6Sopenharmony_ci    delete dev;
240c29fa5a6Sopenharmony_ci    dev = nullptr;
241c29fa5a6Sopenharmony_ci}
242c29fa5a6Sopenharmony_ci
243c29fa5a6Sopenharmony_ci/**
244c29fa5a6Sopenharmony_ci * @tc.name: ReadTomlFileTest001
245c29fa5a6Sopenharmony_ci * @tc.desc: Test func named ReadTomlFile
246c29fa5a6Sopenharmony_ci * @tc.type: FUNC
247c29fa5a6Sopenharmony_ci */
248c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, ReadTomlFileTest001, TestSize.Level0)
249c29fa5a6Sopenharmony_ci{
250c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
251c29fa5a6Sopenharmony_ci    const std::string filePath = { "/system/etc/device_status/drag_icon/Copy_Drag.svg" };
252c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
253c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
254c29fa5a6Sopenharmony_ci    CHKPV(dev);
255c29fa5a6Sopenharmony_ci    int32_t ret = dev->ReadTomlFile(filePath);
256c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, RET_ERR);
257c29fa5a6Sopenharmony_ci    delete dev;
258c29fa5a6Sopenharmony_ci    dev = nullptr;
259c29fa5a6Sopenharmony_ci}
260c29fa5a6Sopenharmony_ci
261c29fa5a6Sopenharmony_ci/**
262c29fa5a6Sopenharmony_ci * @tc.name: HasRelCoordTest001
263c29fa5a6Sopenharmony_ci * @tc.desc: Test func named HasRelCoord
264c29fa5a6Sopenharmony_ci * @tc.type: FUNC
265c29fa5a6Sopenharmony_ci */
266c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, HasRelCoordTest001, TestSize.Level0)
267c29fa5a6Sopenharmony_ci{
268c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
269c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
270c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
271c29fa5a6Sopenharmony_ci    CHKPV(dev);
272c29fa5a6Sopenharmony_ci    bool ret = dev->HasRelCoord();
273c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, false);
274c29fa5a6Sopenharmony_ci    delete dev;
275c29fa5a6Sopenharmony_ci    dev = nullptr;
276c29fa5a6Sopenharmony_ci}
277c29fa5a6Sopenharmony_ci
278c29fa5a6Sopenharmony_ci/**
279c29fa5a6Sopenharmony_ci * @tc.name: DispatchTest001
280c29fa5a6Sopenharmony_ci * @tc.desc: Test func named Dispatch
281c29fa5a6Sopenharmony_ci * @tc.type: FUNC
282c29fa5a6Sopenharmony_ci */
283c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, DispatchTest001, TestSize.Level0)
284c29fa5a6Sopenharmony_ci{
285c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
286c29fa5a6Sopenharmony_ci    const struct epoll_event ev {};
287c29fa5a6Sopenharmony_ci    int32_t deviceId = devmg_.ParseDeviceId(devNode_);
288c29fa5a6Sopenharmony_ci    Device *dev = new Device(deviceId);
289c29fa5a6Sopenharmony_ci    CHKPV(dev);
290c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev->Dispatch(ev));
291c29fa5a6Sopenharmony_ci    delete dev;
292c29fa5a6Sopenharmony_ci    dev = nullptr;
293c29fa5a6Sopenharmony_ci}
294c29fa5a6Sopenharmony_ci
295c29fa5a6Sopenharmony_ci/**
296c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest001
297c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
298c29fa5a6Sopenharmony_ci * @tc.type: FUNC
299c29fa5a6Sopenharmony_ci */
300c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest001, TestSize.Level0)
301c29fa5a6Sopenharmony_ci{
302c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
303c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
304c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_TWO] = NUM_ONE;
305c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
306c29fa5a6Sopenharmony_ci}
307c29fa5a6Sopenharmony_ci
308c29fa5a6Sopenharmony_ci/**
309c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest002
310c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
311c29fa5a6Sopenharmony_ci * @tc.type: FUNC
312c29fa5a6Sopenharmony_ci */
313c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest002, TestSize.Level0)
314c29fa5a6Sopenharmony_ci{
315c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
316c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
317c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_TWELVE] = NUM_SIXTY_FOUR;
318c29fa5a6Sopenharmony_ci    dev.bus_ = BUS_BLUETOOTH;
319c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
320c29fa5a6Sopenharmony_ci}
321c29fa5a6Sopenharmony_ci
322c29fa5a6Sopenharmony_ci/**
323c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest003
324c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
325c29fa5a6Sopenharmony_ci * @tc.type: FUNC
326c29fa5a6Sopenharmony_ci */
327c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest003, TestSize.Level0)
328c29fa5a6Sopenharmony_ci{
329c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
330c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
331c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_NINE] = NUM_HUNDRED_TWENTY_EIGHT;
332c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
333c29fa5a6Sopenharmony_ci}
334c29fa5a6Sopenharmony_ci
335c29fa5a6Sopenharmony_ci/**
336c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest004
337c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
338c29fa5a6Sopenharmony_ci * @tc.type: FUNC
339c29fa5a6Sopenharmony_ci */
340c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest004, TestSize.Level0)
341c29fa5a6Sopenharmony_ci{
342c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
343c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
344c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
345c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
346c29fa5a6Sopenharmony_ci}
347c29fa5a6Sopenharmony_ci
348c29fa5a6Sopenharmony_ci/**
349c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest005
350c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
351c29fa5a6Sopenharmony_ci * @tc.type: FUNC
352c29fa5a6Sopenharmony_ci */
353c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest005, TestSize.Level0)
354c29fa5a6Sopenharmony_ci{
355c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
356c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
357c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
358c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_TWELVE] = NUM_TWO;
359c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
360c29fa5a6Sopenharmony_ci}
361c29fa5a6Sopenharmony_ci
362c29fa5a6Sopenharmony_ci/**
363c29fa5a6Sopenharmony_ci * @tc.name: JudgeKeyboardTypeTest006
364c29fa5a6Sopenharmony_ci * @tc.desc: Test func named JudgeKeyboardType
365c29fa5a6Sopenharmony_ci * @tc.type: FUNC
366c29fa5a6Sopenharmony_ci */
367c29fa5a6Sopenharmony_ciHWTEST_F(DeviceTest, JudgeKeyboardTypeTest006, TestSize.Level0)
368c29fa5a6Sopenharmony_ci{
369c29fa5a6Sopenharmony_ci    CALL_TEST_DEBUG;
370c29fa5a6Sopenharmony_ci    Device dev(deviceId_);
371c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
372c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_TWELVE] = NUM_TWO;
373c29fa5a6Sopenharmony_ci    dev.keyBitmask_[INDEX_TWENTY_THREE] = NUM_SIXTY_FOUR;
374c29fa5a6Sopenharmony_ci    ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
375c29fa5a6Sopenharmony_ci}
376c29fa5a6Sopenharmony_ci} // namespace DeviceStatus
377c29fa5a6Sopenharmony_ci} // namespace Msdp
378c29fa5a6Sopenharmony_ci} // namespace OHOS