1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2022 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#include <gtest/gtest.h>
17c29fa5a6Sopenharmony_ci
18c29fa5a6Sopenharmony_ci#include "virtual_device.h"
19c29fa5a6Sopenharmony_ci
20c29fa5a6Sopenharmony_cinamespace OHOS {
21c29fa5a6Sopenharmony_cinamespace MMI {
22c29fa5a6Sopenharmony_cinamespace {
23c29fa5a6Sopenharmony_ciusing namespace testing::ext;
24c29fa5a6Sopenharmony_ci} // namespace
25c29fa5a6Sopenharmony_ci
26c29fa5a6Sopenharmony_ciclass VirtualDeviceTest : public testing::Test {
27c29fa5a6Sopenharmony_cipublic:
28c29fa5a6Sopenharmony_ci    static void SetUpTestCase(void) {}
29c29fa5a6Sopenharmony_ci    static void TearDownTestCase(void) {}
30c29fa5a6Sopenharmony_ci
31c29fa5a6Sopenharmony_ci    const std::string DEVICE = "Virtual Mouse";
32c29fa5a6Sopenharmony_ci    const uint16_t BUS_TYPE = BUS_USB;
33c29fa5a6Sopenharmony_ci    const uint16_t VENDOR_ID = 0x93a;
34c29fa5a6Sopenharmony_ci    const uint16_t PRODUCT_ID = 0x2510;
35c29fa5a6Sopenharmony_ci};
36c29fa5a6Sopenharmony_ci
37c29fa5a6Sopenharmony_ci/**
38c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_mouse
39c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
40c29fa5a6Sopenharmony_ci * @tc.type: FUNC
41c29fa5a6Sopenharmony_ci * @tc.require:
42c29fa5a6Sopenharmony_ci */
43c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_mouse, TestSize.Level1)
44c29fa5a6Sopenharmony_ci{
45c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
46c29fa5a6Sopenharmony_ci    std::string deviceType = "mouse";
47c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
48c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
49c29fa5a6Sopenharmony_ci}
50c29fa5a6Sopenharmony_ci
51c29fa5a6Sopenharmony_ci/**
52c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_keyboard
53c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
54c29fa5a6Sopenharmony_ci * @tc.type: FUNC
55c29fa5a6Sopenharmony_ci * @tc.require:
56c29fa5a6Sopenharmony_ci */
57c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_keyboard, TestSize.Level1)
58c29fa5a6Sopenharmony_ci{
59c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
60c29fa5a6Sopenharmony_ci    std::string deviceType = "keyboard";
61c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
62c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
63c29fa5a6Sopenharmony_ci}
64c29fa5a6Sopenharmony_ci
65c29fa5a6Sopenharmony_ci/**
66c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_knob
67c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
68c29fa5a6Sopenharmony_ci * @tc.type: FUNC
69c29fa5a6Sopenharmony_ci * @tc.require:
70c29fa5a6Sopenharmony_ci */
71c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_knob, TestSize.Level1)
72c29fa5a6Sopenharmony_ci{
73c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
74c29fa5a6Sopenharmony_ci    std::string deviceType = "knob";
75c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
76c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
77c29fa5a6Sopenharmony_ci}
78c29fa5a6Sopenharmony_ci
79c29fa5a6Sopenharmony_ci/**
80c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_joystick
81c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
82c29fa5a6Sopenharmony_ci * @tc.type: FUNC
83c29fa5a6Sopenharmony_ci * @tc.require:
84c29fa5a6Sopenharmony_ci */
85c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_joystick, TestSize.Level1)
86c29fa5a6Sopenharmony_ci{
87c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
88c29fa5a6Sopenharmony_ci    std::string deviceType = "joystick";
89c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
90c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
91c29fa5a6Sopenharmony_ci}
92c29fa5a6Sopenharmony_ci
93c29fa5a6Sopenharmony_ci/**
94c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_trackball
95c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
96c29fa5a6Sopenharmony_ci * @tc.type: FUNC
97c29fa5a6Sopenharmony_ci * @tc.require:
98c29fa5a6Sopenharmony_ci */
99c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_trackball, TestSize.Level1)
100c29fa5a6Sopenharmony_ci{
101c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
102c29fa5a6Sopenharmony_ci    std::string deviceType = "trackball";
103c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
104c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
105c29fa5a6Sopenharmony_ci}
106c29fa5a6Sopenharmony_ci
107c29fa5a6Sopenharmony_ci/**
108c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_remotecontrol
109c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
110c29fa5a6Sopenharmony_ci * @tc.type: FUNC
111c29fa5a6Sopenharmony_ci * @tc.require:
112c29fa5a6Sopenharmony_ci */
113c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_remotecontrol, TestSize.Level1)
114c29fa5a6Sopenharmony_ci{
115c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
116c29fa5a6Sopenharmony_ci    std::string deviceType = "remotecontrol";
117c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
118c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
119c29fa5a6Sopenharmony_ci}
120c29fa5a6Sopenharmony_ci
121c29fa5a6Sopenharmony_ci/**
122c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_trackpad
123c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
124c29fa5a6Sopenharmony_ci * @tc.type: FUNC
125c29fa5a6Sopenharmony_ci * @tc.require:
126c29fa5a6Sopenharmony_ci */
127c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_trackpad, TestSize.Level1)
128c29fa5a6Sopenharmony_ci{
129c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
130c29fa5a6Sopenharmony_ci    std::string deviceType = "trackpad";
131c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
132c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
133c29fa5a6Sopenharmony_ci}
134c29fa5a6Sopenharmony_ci
135c29fa5a6Sopenharmony_ci/**
136c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_gamepad
137c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
138c29fa5a6Sopenharmony_ci * @tc.type: FUNC
139c29fa5a6Sopenharmony_ci * @tc.require:
140c29fa5a6Sopenharmony_ci */
141c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_gamepad, TestSize.Level1)
142c29fa5a6Sopenharmony_ci{
143c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
144c29fa5a6Sopenharmony_ci    std::string deviceType = "gamepad";
145c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
146c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
147c29fa5a6Sopenharmony_ci}
148c29fa5a6Sopenharmony_ci
149c29fa5a6Sopenharmony_ci/**
150c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_touchpad
151c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
152c29fa5a6Sopenharmony_ci * @tc.type: FUNC
153c29fa5a6Sopenharmony_ci * @tc.require:
154c29fa5a6Sopenharmony_ci */
155c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_touchpad, TestSize.Level1)
156c29fa5a6Sopenharmony_ci{
157c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
158c29fa5a6Sopenharmony_ci    std::string deviceType = "touchpad";
159c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
160c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
161c29fa5a6Sopenharmony_ci}
162c29fa5a6Sopenharmony_ci
163c29fa5a6Sopenharmony_ci/**
164c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_touchscreen
165c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
166c29fa5a6Sopenharmony_ci * @tc.type: FUNC
167c29fa5a6Sopenharmony_ci * @tc.require:
168c29fa5a6Sopenharmony_ci */
169c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_touchscreen, TestSize.Level1)
170c29fa5a6Sopenharmony_ci{
171c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
172c29fa5a6Sopenharmony_ci    std::string deviceType = "touchscreen";
173c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
174c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
175c29fa5a6Sopenharmony_ci}
176c29fa5a6Sopenharmony_ci
177c29fa5a6Sopenharmony_ci/**
178c29fa5a6Sopenharmony_ci * @tc.name:Test_CreateHandle_phone
179c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CreateHandle
180c29fa5a6Sopenharmony_ci * @tc.type: FUNC
181c29fa5a6Sopenharmony_ci * @tc.require:
182c29fa5a6Sopenharmony_ci */
183c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CreateHandle_phone, TestSize.Level1)
184c29fa5a6Sopenharmony_ci{
185c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
186c29fa5a6Sopenharmony_ci    std::string deviceType = "phone";
187c29fa5a6Sopenharmony_ci    auto ret = device.CreateHandle(deviceType);
188c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
189c29fa5a6Sopenharmony_ci}
190c29fa5a6Sopenharmony_ci
191c29fa5a6Sopenharmony_ci/**
192c29fa5a6Sopenharmony_ci * @tc.name:Test_AddDevice_false01
193c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function AddDevice
194c29fa5a6Sopenharmony_ci * @tc.type: FUNC
195c29fa5a6Sopenharmony_ci * @tc.require:
196c29fa5a6Sopenharmony_ci */
197c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_AddDevice_false01, TestSize.Level1)
198c29fa5a6Sopenharmony_ci{
199c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
200c29fa5a6Sopenharmony_ci    std::string deviceName = "";
201c29fa5a6Sopenharmony_ci    auto ret = device.AddDevice(deviceName);
202c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
203c29fa5a6Sopenharmony_ci}
204c29fa5a6Sopenharmony_ci
205c29fa5a6Sopenharmony_ci/**
206c29fa5a6Sopenharmony_ci * @tc.name:Test_AddDevice_true
207c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function AddDevice
208c29fa5a6Sopenharmony_ci * @tc.type: FUNC
209c29fa5a6Sopenharmony_ci * @tc.require:
210c29fa5a6Sopenharmony_ci */
211c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_AddDevice_true, TestSize.Level1)
212c29fa5a6Sopenharmony_ci{
213c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
214c29fa5a6Sopenharmony_ci    std::string deviceName = "mouse";
215c29fa5a6Sopenharmony_ci    auto ret = device.AddDevice(deviceName);
216c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
217c29fa5a6Sopenharmony_ci}
218c29fa5a6Sopenharmony_ci
219c29fa5a6Sopenharmony_ci/**
220c29fa5a6Sopenharmony_ci * @tc.name:Test_AddDevice_false02
221c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function AddDevice
222c29fa5a6Sopenharmony_ci * @tc.type: FUNC
223c29fa5a6Sopenharmony_ci * @tc.require:
224c29fa5a6Sopenharmony_ci */
225c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_AddDevice_false02, TestSize.Level1)
226c29fa5a6Sopenharmony_ci{
227c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
228c29fa5a6Sopenharmony_ci    std::string deviceName = "falseName";
229c29fa5a6Sopenharmony_ci    auto ret = device.AddDevice(deviceName);
230c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
231c29fa5a6Sopenharmony_ci}
232c29fa5a6Sopenharmony_ci
233c29fa5a6Sopenharmony_ci/**
234c29fa5a6Sopenharmony_ci * @tc.name:Test_CloseDevice_false02
235c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CloseDevice
236c29fa5a6Sopenharmony_ci * @tc.type: FUNC
237c29fa5a6Sopenharmony_ci * @tc.require:
238c29fa5a6Sopenharmony_ci */
239c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_CloseDevice_false02, TestSize.Level1)
240c29fa5a6Sopenharmony_ci{
241c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
242c29fa5a6Sopenharmony_ci    std::vector<std::string> fileList;
243c29fa5a6Sopenharmony_ci    std::string fileName = "falseArgv";
244c29fa5a6Sopenharmony_ci    fileList.push_back("close ");
245c29fa5a6Sopenharmony_ci    fileList.push_back("falseArgv ");
246c29fa5a6Sopenharmony_ci    auto ret = device.CloseDevice(fileName, fileList);
247c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
248c29fa5a6Sopenharmony_ci}
249c29fa5a6Sopenharmony_ci
250c29fa5a6Sopenharmony_ci/**
251c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_listfalse01
252c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
253c29fa5a6Sopenharmony_ci * @tc.type: FUNC
254c29fa5a6Sopenharmony_ci * @tc.require:
255c29fa5a6Sopenharmony_ci */
256c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_listfalse01, TestSize.Level1)
257c29fa5a6Sopenharmony_ci{
258c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
259c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
260c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
261c29fa5a6Sopenharmony_ci    argvList.push_back("list");
262c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
263c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
264c29fa5a6Sopenharmony_ci}
265c29fa5a6Sopenharmony_ci
266c29fa5a6Sopenharmony_ci/**
267c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_listfalse02
268c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
269c29fa5a6Sopenharmony_ci * @tc.type: FUNC
270c29fa5a6Sopenharmony_ci * @tc.require:
271c29fa5a6Sopenharmony_ci */
272c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_listfalse02, TestSize.Level1)
273c29fa5a6Sopenharmony_ci{
274c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
275c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
276c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
277c29fa5a6Sopenharmony_ci    argvList.push_back("list ");
278c29fa5a6Sopenharmony_ci    argvList.push_back("falseArgv");
279c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
280c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
281c29fa5a6Sopenharmony_ci}
282c29fa5a6Sopenharmony_ci
283c29fa5a6Sopenharmony_ci/**
284c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_addFalse
285c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
286c29fa5a6Sopenharmony_ci * @tc.type: FUNC
287c29fa5a6Sopenharmony_ci * @tc.require:
288c29fa5a6Sopenharmony_ci */
289c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_addFalse, TestSize.Level1)
290c29fa5a6Sopenharmony_ci{
291c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
292c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
293c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
294c29fa5a6Sopenharmony_ci    argvList.push_back("start ");
295c29fa5a6Sopenharmony_ci    argvList.push_back("falseArgv");
296c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
297c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
298c29fa5a6Sopenharmony_ci}
299c29fa5a6Sopenharmony_ci
300c29fa5a6Sopenharmony_ci/**
301c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_addTrue
302c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
303c29fa5a6Sopenharmony_ci * @tc.type: FUNC
304c29fa5a6Sopenharmony_ci * @tc.require:
305c29fa5a6Sopenharmony_ci */
306c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_addTrue, TestSize.Level1)
307c29fa5a6Sopenharmony_ci{
308c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
309c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
310c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
311c29fa5a6Sopenharmony_ci    argvList.push_back("start");
312c29fa5a6Sopenharmony_ci    argvList.push_back("mouse");
313c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
314c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
315c29fa5a6Sopenharmony_ci}
316c29fa5a6Sopenharmony_ci
317c29fa5a6Sopenharmony_ci/**
318c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_closeFalse01
319c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
320c29fa5a6Sopenharmony_ci * @tc.type: FUNC
321c29fa5a6Sopenharmony_ci * @tc.require:
322c29fa5a6Sopenharmony_ci */
323c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_closeFalse01, TestSize.Level1)
324c29fa5a6Sopenharmony_ci{
325c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
326c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
327c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
328c29fa5a6Sopenharmony_ci    argvList.push_back("close ");
329c29fa5a6Sopenharmony_ci    argvList.push_back("falsePid");
330c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
331c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
332c29fa5a6Sopenharmony_ci}
333c29fa5a6Sopenharmony_ci
334c29fa5a6Sopenharmony_ci/**
335c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_closeTrue01
336c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
337c29fa5a6Sopenharmony_ci * @tc.type: FUNC
338c29fa5a6Sopenharmony_ci * @tc.require:
339c29fa5a6Sopenharmony_ci */
340c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_closeTrue01, TestSize.Level1)
341c29fa5a6Sopenharmony_ci{
342c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
343c29fa5a6Sopenharmony_ci    std::string symbolFileTest;
344c29fa5a6Sopenharmony_ci    symbolFileTest.append(g_folderPath).append("1111111").append("_").append("testDevice");
345c29fa5a6Sopenharmony_ci    std::ofstream flagFile;
346c29fa5a6Sopenharmony_ci    flagFile.open(symbolFileTest.c_str());
347c29fa5a6Sopenharmony_ci    flagFile.close(symbolFileTest.c_str());
348c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
349c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
350c29fa5a6Sopenharmony_ci    argvList.push_back("close ");
351c29fa5a6Sopenharmony_ci    argvList.push_back("1111111");
352c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
353c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
354c29fa5a6Sopenharmony_ci}
355c29fa5a6Sopenharmony_ci
356c29fa5a6Sopenharmony_ci/**
357c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_mkdirFalse01
358c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
359c29fa5a6Sopenharmony_ci * @tc.type: FUNC
360c29fa5a6Sopenharmony_ci * @tc.require:
361c29fa5a6Sopenharmony_ci */
362c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_mkdirFalse01, TestSize.Level1)
363c29fa5a6Sopenharmony_ci{
364c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
365c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
366c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
367c29fa5a6Sopenharmony_ci    argvList.push_back("close ");
368c29fa5a6Sopenharmony_ci    argvList.push_back("falsePid");
369c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
370c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
371c29fa5a6Sopenharmony_ci}
372c29fa5a6Sopenharmony_ci
373c29fa5a6Sopenharmony_ci/**
374c29fa5a6Sopenharmony_ci * @tc.name:Test_FindDevice_False01
375c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function CommandBranch
376c29fa5a6Sopenharmony_ci * @tc.type: FUNC
377c29fa5a6Sopenharmony_ci * @tc.require:
378c29fa5a6Sopenharmony_ci */
379c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_FindDevice_False01, TestSize.Level1)
380c29fa5a6Sopenharmony_ci{
381c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
382c29fa5a6Sopenharmony_ci    std::vector<std::string> argvList;
383c29fa5a6Sopenharmony_ci    argvList.push_back("binName ");
384c29fa5a6Sopenharmony_ci    argvList.push_back("falseArgv ");
385c29fa5a6Sopenharmony_ci    auto ret = device.CommandBranch(argvList);
386c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
387c29fa5a6Sopenharmony_ci}
388c29fa5a6Sopenharmony_ci
389c29fa5a6Sopenharmony_ci/**
390c29fa5a6Sopenharmony_ci * @tc.name:Test_DoIoctl_false
391c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function DoIoctl
392c29fa5a6Sopenharmony_ci * @tc.type: FUNC
393c29fa5a6Sopenharmony_ci * @tc.require:
394c29fa5a6Sopenharmony_ci */
395c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_DoIoctl_false, TestSize.Level1)
396c29fa5a6Sopenharmony_ci{
397c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
398c29fa5a6Sopenharmony_ci    auto ret = device.DoIoctl(-1, UI_SET_KEYBIT, KEY_POWER);
399c29fa5a6Sopenharmony_ci    EXPECT_FALSE(ret);
400c29fa5a6Sopenharmony_ci}
401c29fa5a6Sopenharmony_ci
402c29fa5a6Sopenharmony_ci/**
403c29fa5a6Sopenharmony_ci * @tc.name:Test_SetUp_01
404c29fa5a6Sopenharmony_ci * @tc.desc:Verify VirtualDevice function SetUp
405c29fa5a6Sopenharmony_ci * @tc.type: FUNC
406c29fa5a6Sopenharmony_ci * @tc.require:
407c29fa5a6Sopenharmony_ci */
408c29fa5a6Sopenharmony_ciHWTEST_F(VirtualDeviceTest, Test_SetUp_01, TestSize.Level1)
409c29fa5a6Sopenharmony_ci{
410c29fa5a6Sopenharmony_ci    VirtualDevice device(DEVICE, BUS_TYPE, VENDOR_ID, PRODUCT_ID);
411c29fa5a6Sopenharmony_ci    auto ret = device.SetUp();
412c29fa5a6Sopenharmony_ci    EXPECT_TRUE(ret);
413c29fa5a6Sopenharmony_ci}
414c29fa5a6Sopenharmony_ci} // namespace MMI
415c29fa5a6Sopenharmony_ci} // namespace OHOS