1 /* 2 * Copyright (c) 2025 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_manager.h" 19 20 namespace OHOS { 21 namespace MMI { 22 namespace { 23 using namespace testing::ext; 24 } // namespace 25 26 class DeviceManagerTest : public testing::Test { 27 public: SetUpTestCase(void)28 static void SetUpTestCase(void) {} TearDownTestCase(void)29 static void TearDownTestCase(void) {} SetUp()30 void SetUp() {} TearDown()31 void TearDown() {} 32 }; 33 34 /** 35 * @tc.name: DeviceManagerTest_ExtractEventNumber_Valid 36 * @tc.desc: Test extracting event number from valid file names 37 * @tc.type: FUNC 38 * @tc.require: 39 */ 40 HWTEST_F(DeviceManagerTest, DeviceManagerTest_ExtractEventNumber_Valid, TestSize.Level1) 41 { 42 DeviceManager deviceManager; 43 EXPECT_EQ(deviceManager.ExtractEventNumber("event0"), 0); 44 EXPECT_EQ(deviceManager.ExtractEventNumber("event1"), 1); 45 EXPECT_EQ(deviceManager.ExtractEventNumber("event10"), 10); 46 EXPECT_EQ(deviceManager.ExtractEventNumber("event999"), 999); 47 } 48 49 /** 50 * @tc.name: DeviceManagerTest_ExtractEventNumber_Invalid 51 * @tc.desc: Test extracting event number from invalid file names 52 * @tc.type: FUNC 53 * @tc.require: 54 */ 55 HWTEST_F(DeviceManagerTest, DeviceManagerTest_ExtractEventNumber_Invalid, TestSize.Level1) 56 { 57 DeviceManager deviceManager; 58 EXPECT_EQ(deviceManager.ExtractEventNumber(""), -1); 59 EXPECT_EQ(deviceManager.ExtractEventNumber("event"), -1); 60 EXPECT_EQ(deviceManager.ExtractEventNumber("eventX"), -1); 61 EXPECT_EQ(deviceManager.ExtractEventNumber("event-1"), -1); 62 EXPECT_EQ(deviceManager.ExtractEventNumber("EVENT0"), -1); 63 EXPECT_EQ(deviceManager.ExtractEventNumber("myevent0"), -1); 64 EXPECT_EQ(deviceManager.ExtractEventNumber("event0suffix"), -1); 65 } 66 67 /** 68 * @tc.name: DeviceManagerTest_BuildDevicePath 69 * @tc.desc: Test building device path from file name 70 * @tc.type: FUNC 71 * @tc.require: 72 */ 73 HWTEST_F(DeviceManagerTest, DeviceManagerTest_BuildDevicePath, TestSize.Level1) 74 { 75 DeviceManager deviceManager; 76 EXPECT_EQ(deviceManager.BuildDevicePath("event0"), "/dev/input/event0"); 77 EXPECT_EQ(deviceManager.BuildDevicePath("test"), "/dev/input/test"); 78 EXPECT_EQ(deviceManager.BuildDevicePath(""), "/dev/input/"); 79 } 80 81 /** 82 * @tc.name: DeviceManagerTest_DiscoverDevices_NoException 83 * @tc.desc: Test that DiscoverDevices doesn't throw exceptions 84 * @tc.type: FUNC 85 * @tc.require: 86 */ 87 HWTEST_F(DeviceManagerTest, DeviceManagerTest_DiscoverDevices_NoException, TestSize.Level1) 88 { 89 DeviceManager deviceManager; 90 ASSERT_NO_FATAL_FAILURE({ 91 auto devices = deviceManager.DiscoverDevices(); 92 }); 93 } 94 95 /** 96 * @tc.name: DeviceManagerTest_PrintDeviceList_NoException 97 * @tc.desc: Test that PrintDeviceList doesn't throw exceptions 98 * @tc.type: FUNC 99 * @tc.require: 100 */ 101 HWTEST_F(DeviceManagerTest, DeviceManagerTest_PrintDeviceList_NoException, TestSize.Level1) 102 { 103 DeviceManager deviceManager; 104 ASSERT_NO_FATAL_FAILURE({ 105 deviceManager.PrintDeviceList(); 106 }); 107 } 108 } // namespace MMI 109 } // namespace OHOS