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 "audio_service_log.h" 19 #include "audio_errors.h" 20 #include "audio_system_manager.h" 21 22 using namespace testing::ext; 23 24 namespace OHOS { 25 namespace AudioStandard { 26 27 const int32_t TEST_RET_NUM = 0; 28 29 class AudioSystemManagerUnitTest : public testing::Test { 30 public: 31 static void SetUpTestCase(void); 32 static void TearDownTestCase(void); 33 void SetUp(); 34 void TearDown(); 35 }; 36 37 class AudioManagerAppVolumeChangeCallbackTest : public AudioManagerAppVolumeChangeCallback { 38 public: OnAppVolumeChangedForUid(int32_t appUid,const VolumeEvent & event)39 void OnAppVolumeChangedForUid(int32_t appUid, const VolumeEvent &event) override {} OnSelfAppVolumeChanged(const VolumeEvent & event)40 void OnSelfAppVolumeChanged(const VolumeEvent &event) override {} 41 }; 42 43 /** 44 * @tc.name : Test GetMaxVolume API 45 * @tc.type : FUNC 46 * @tc.number: GetMaxVolume_001 47 * @tc.desc : Test GetMaxVolume interface. 48 */ 49 HWTEST(AudioSystemManagerUnitTest, GetMaxVolume_001, TestSize.Level1) 50 { 51 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMaxVolume_001 start"); 52 int32_t result = AudioSystemManager::GetInstance()->GetMaxVolume(STREAM_ALL); 53 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMaxVolume_001 result1:%{public}d", result); 54 EXPECT_GT(result, TEST_RET_NUM); 55 result = AudioSystemManager::GetInstance()->GetMaxVolume(STREAM_ULTRASONIC); 56 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMaxVolume_001 result2:%{public}d", result); 57 EXPECT_GT(result, TEST_RET_NUM); 58 } 59 60 /** 61 * @tc.name : Test GetMinVolume API 62 * @tc.type : FUNC 63 * @tc.number: GetMinVolume_001 64 * @tc.desc : Test GetMinVolume interface. 65 */ 66 HWTEST(AudioSystemManagerUnitTest, GetMinVolume_001, TestSize.Level1) 67 { 68 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMinVolume_001 start"); 69 int32_t result = AudioSystemManager::GetInstance()->GetMinVolume(STREAM_ALL); 70 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMinVolume_001 result1:%{public}d", result); 71 EXPECT_EQ(result, TEST_RET_NUM); 72 result = AudioSystemManager::GetInstance()->GetMinVolume(STREAM_ULTRASONIC); 73 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetMinVolume_001 result2:%{public}d", result); 74 EXPECT_EQ(result, TEST_RET_NUM); 75 } 76 77 /** 78 * @tc.name : Test IsStreamMute API 79 * @tc.type : FUNC 80 * @tc.number: IsStreamMute_001 81 * @tc.desc : Test IsStreamMute interface. 82 */ 83 HWTEST(AudioSystemManagerUnitTest, IsStreamMute_001, TestSize.Level1) 84 { 85 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamMute_001 start"); 86 bool result = AudioSystemManager::GetInstance()->IsStreamMute(STREAM_MUSIC); 87 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamMute_001 result1:%{public}d", result); 88 EXPECT_EQ(result, false); 89 90 result = AudioSystemManager::GetInstance()->IsStreamMute(STREAM_RING); 91 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamMute_001 result2:%{public}d", result); 92 EXPECT_EQ(result, false); 93 94 result = AudioSystemManager::GetInstance()->IsStreamMute(STREAM_NOTIFICATION); 95 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamMute_001 result3:%{public}d", result); 96 EXPECT_EQ(result, false); 97 } 98 99 /** 100 * @tc.name : Test IsStreamActive API 101 * @tc.type : FUNC 102 * @tc.number: IsStreamActive_002 103 * @tc.desc : Test IsStreamActive interface. 104 */ 105 HWTEST(AudioSystemManagerUnitTest, IsStreamActive_002, TestSize.Level1) 106 { 107 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamActive_002 start"); 108 bool result = AudioSystemManager::GetInstance()->IsStreamActive(STREAM_MUSIC); 109 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamActive_002 result1:%{public}d", result); 110 EXPECT_EQ(result, false); 111 112 result = AudioSystemManager::GetInstance()->IsStreamActive(STREAM_ULTRASONIC); 113 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamActive_002 result2:%{public}d", result); 114 EXPECT_EQ(result, false); 115 116 result = AudioSystemManager::GetInstance()->IsStreamActive(STREAM_ALL); 117 AUDIO_INFO_LOG("AudioSystemManagerUnitTest IsStreamActive_002 result3:%{public}d", result); 118 EXPECT_EQ(result, false); 119 } 120 121 /** 122 * @tc.name : Test GetSelfBundleName API 123 * @tc.type : FUNC 124 * @tc.number: GetSelfBundleName_001 125 * @tc.desc : Test GetSelfBundleName interface. 126 */ 127 HWTEST(AudioSystemManagerUnitTest, GetSelfBundleName_001, TestSize.Level1) 128 { 129 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetSelfBundleName_001 start"); 130 std::string bundleName = AudioSystemManager::GetInstance()->GetSelfBundleName(); 131 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetSelfBundleName_001 bundleName:%{public}s", bundleName.c_str()); 132 EXPECT_EQ(bundleName, ""); 133 } 134 135 /** 136 * @tc.name : Test GetPinValueFromType API 137 * @tc.type : FUNC 138 * @tc.number: GetPinValueFromType_001 139 * @tc.desc : Test GetPinValueFromType interface. 140 */ 141 HWTEST(AudioSystemManagerUnitTest, GetPinValueFromType_001, TestSize.Level1) 142 { 143 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetPinValueFromType_001 start"); 144 AudioPin pinValue = AudioSystemManager::GetInstance()->GetPinValueFromType(DEVICE_TYPE_DP, INPUT_DEVICE); 145 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ->GetPinValueFromType_001() pinValue:%{public}d", pinValue); 146 EXPECT_NE(pinValue, AUDIO_PIN_NONE); 147 } 148 149 /** 150 * @tc.name : Test GetPinValueFromType API 151 * @tc.type : FUNC 152 * @tc.number: GetPinValueFromType_002 153 * @tc.desc : Test GetPinValueFromType interface. 154 */ 155 HWTEST(AudioSystemManagerUnitTest, GetPinValueFromType_002, TestSize.Level1) 156 { 157 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetPinValueFromType_002 start"); 158 AudioPin pinValue = AudioSystemManager::GetInstance()->GetPinValueFromType(DEVICE_TYPE_HDMI, OUTPUT_DEVICE); 159 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ->GetPinValueFromType_002() pinValue:%{public}d", pinValue); 160 EXPECT_NE(pinValue, AUDIO_PIN_NONE); 161 } 162 163 /** 164 * @tc.name : Test RegisterWakeupSourceCallback API 165 * @tc.type : FUNC 166 * @tc.number: RegisterWakeupSourceCallback_001 167 * @tc.desc : Test RegisterWakeupSourceCallback interface. 168 */ 169 HWTEST(AudioSystemManagerUnitTest, RegisterWakeupSourceCallback_001, TestSize.Level1) 170 { 171 AUDIO_INFO_LOG("AudioSystemManagerUnitTest RegisterWakeupSourceCallback_001 start"); 172 int32_t result = AudioSystemManager::GetInstance()->RegisterWakeupSourceCallback(); 173 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ->RegisterWakeupSourceCallback_001() result:%{public}d", result); 174 EXPECT_NE(result, ERROR); 175 } 176 177 /** 178 * @tc.name : Test ConfigDistributedRoutingRole API 179 * @tc.number : ConfigDistributedRoutingRoleTest_001 180 * @tc.desc : Test ConfigDistributedRoutingRole interface, when descriptor is nullptr. 181 */ 182 HWTEST(AudioSystemManagerUnitTest, ConfigDistributedRoutingRoleTest_001, TestSize.Level1) 183 { 184 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ConfigDistributedRoutingRoleTest_001 start"); 185 CastType castType = CAST_TYPE_ALL; 186 int32_t result = AudioSystemManager::GetInstance()->ConfigDistributedRoutingRole(nullptr, castType); 187 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ConfigDistributedRoutingRoleTest_001() result:%{public}d", result); 188 EXPECT_EQ(result, ERR_INVALID_PARAM); 189 } 190 191 /** 192 * @tc.name : Test ExcludeOutputDevices API 193 * @tc.number : ExcludeOutputDevicesTest_001 194 * @tc.desc : Test ExcludeOutputDevices interface, when audioDeviceDescriptors is valid. 195 */ 196 HWTEST(AudioSystemManagerUnitTest, ExcludeOutputDevicesTest_001, TestSize.Level1) 197 { 198 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ExcludeOutputDevicesTest_001 start"); 199 AudioDeviceUsage audioDevUsage = MEDIA_OUTPUT_DEVICES; 200 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors; 201 std::shared_ptr<AudioDeviceDescriptor> audioDevDesc = std::make_shared<AudioDeviceDescriptor>(); 202 audioDevDesc->deviceType_ = DEVICE_TYPE_BLUETOOTH_A2DP; 203 audioDevDesc->networkId_ = LOCAL_NETWORK_ID; 204 audioDevDesc->deviceRole_ = DeviceRole::OUTPUT_DEVICE; 205 audioDevDesc->macAddress_ = "00:00:00:00:00:00"; 206 audioDeviceDescriptors.push_back(audioDevDesc); 207 int32_t result = AudioSystemManager::GetInstance()->ExcludeOutputDevices(audioDevUsage, audioDeviceDescriptors); 208 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ExcludeOutputDevicesTest_001() result:%{public}d", result); 209 EXPECT_EQ(result, SUCCESS); 210 } 211 212 /** 213 * @tc.name : Test ExcludeOutputDevices API 214 * @tc.number : ExcludeOutputDevicesTest_002 215 * @tc.desc : Test ExcludeOutputDevices interface, when audioDeviceDescriptors is valid. 216 */ 217 HWTEST(AudioSystemManagerUnitTest, ExcludeOutputDevicesTest_002, TestSize.Level1) 218 { 219 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ExcludeOutputDevicesTest_002 start"); 220 AudioDeviceUsage audioDevUsage = CALL_OUTPUT_DEVICES; 221 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors; 222 std::shared_ptr<AudioDeviceDescriptor> audioDevDesc = std::make_shared<AudioDeviceDescriptor>(); 223 audioDevDesc->deviceType_ = DEVICE_TYPE_BLUETOOTH_SCO; 224 audioDevDesc->networkId_ = LOCAL_NETWORK_ID; 225 audioDevDesc->deviceRole_ = DeviceRole::OUTPUT_DEVICE; 226 audioDevDesc->macAddress_ = "00:00:00:00:00:00"; 227 audioDeviceDescriptors.push_back(audioDevDesc); 228 int32_t result = AudioSystemManager::GetInstance()->ExcludeOutputDevices(audioDevUsage, audioDeviceDescriptors); 229 AUDIO_INFO_LOG("AudioSystemManagerUnitTest ExcludeOutputDevicesTest_001() result:%{public}d", result); 230 EXPECT_EQ(result, SUCCESS); 231 } 232 233 /** 234 * @tc.name : Test UnexcludeOutputDevices API 235 * @tc.number : UnexcludeOutputDevicesTest_001 236 * @tc.desc : Test UnexcludeOutputDevices interface, when audioDeviceDescriptors is valid. 237 */ 238 HWTEST(AudioSystemManagerUnitTest, UnexcludeOutputDevicesTest_001, TestSize.Level1) 239 { 240 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnexcludeOutputDevicesTest_001 start"); 241 AudioDeviceUsage audioDevUsage = MEDIA_OUTPUT_DEVICES; 242 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors; 243 std::shared_ptr<AudioDeviceDescriptor> audioDevDesc = std::make_shared<AudioDeviceDescriptor>(); 244 audioDevDesc->deviceType_ = DEVICE_TYPE_BLUETOOTH_A2DP; 245 audioDevDesc->networkId_ = LOCAL_NETWORK_ID; 246 audioDevDesc->deviceRole_ = DeviceRole::OUTPUT_DEVICE; 247 audioDevDesc->macAddress_ = "00:00:00:00:00:00"; 248 audioDeviceDescriptors.push_back(audioDevDesc); 249 AudioSystemManager::GetInstance()->ExcludeOutputDevices(audioDevUsage, audioDeviceDescriptors); 250 int32_t result = AudioSystemManager::GetInstance()->UnexcludeOutputDevices(audioDevUsage, audioDeviceDescriptors); 251 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnexcludeOutputDevicesTest_001() result:%{public}d", result); 252 EXPECT_EQ(result, SUCCESS); 253 } 254 255 /** 256 * @tc.name : Test UnexcludeOutputDevices API 257 * @tc.number : UnexcludeOutputDevicesTest_002 258 * @tc.desc : Test UnexcludeOutputDevices interface, when audioDeviceDescriptors is empty. 259 */ 260 HWTEST(AudioSystemManagerUnitTest, UnexcludeOutputDevicesTest_002, TestSize.Level1) 261 { 262 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnexcludeOutputDevicesTest_002 start"); 263 AudioDeviceUsage audioDevUsage = CALL_OUTPUT_DEVICES; 264 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors; 265 std::shared_ptr<AudioDeviceDescriptor> audioDevDesc = std::make_shared<AudioDeviceDescriptor>(); 266 audioDevDesc->deviceType_ = DEVICE_TYPE_BLUETOOTH_SCO; 267 audioDevDesc->networkId_ = LOCAL_NETWORK_ID; 268 audioDevDesc->deviceRole_ = DeviceRole::OUTPUT_DEVICE; 269 audioDevDesc->macAddress_ = "00:00:00:00:00:00"; 270 audioDeviceDescriptors.push_back(audioDevDesc); 271 AudioSystemManager::GetInstance()->ExcludeOutputDevices(audioDevUsage, audioDeviceDescriptors); 272 int32_t result = AudioSystemManager::GetInstance()->UnexcludeOutputDevices(audioDevUsage); 273 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnexcludeOutputDevicesTest_002() result:%{public}d", result); 274 EXPECT_EQ(result, SUCCESS); 275 } 276 277 /** 278 * @tc.name : Test GetExcludedDevices API 279 * @tc.number : GetExcludedDevicesTest_001 280 * @tc.desc : Test GetExcludedDevices interface. 281 */ 282 HWTEST(AudioSystemManagerUnitTest, GetExcludedDevicesTest_001, TestSize.Level1) 283 { 284 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetExcludedDevicesTest_001 start"); 285 AudioDeviceUsage audioDevUsage = MEDIA_OUTPUT_DEVICES; 286 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors = 287 AudioSystemManager::GetInstance()->GetExcludedDevices(audioDevUsage); 288 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetExcludedDevicesTest_001() audioDeviceDescriptors.size:%{public}zu", 289 audioDeviceDescriptors.size()); 290 EXPECT_EQ(audioDeviceDescriptors.size(), 0); 291 } 292 293 /** 294 * @tc.name : Test GetExcludedDevices API 295 * @tc.number : GetExcludedDevicesTest_002 296 * @tc.desc : Test GetExcludedDevices interface. 297 */ 298 HWTEST(AudioSystemManagerUnitTest, GetExcludedDevicesTest_002, TestSize.Level1) 299 { 300 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetExcludedDevicesTest_002 start"); 301 AudioDeviceUsage audioDevUsage = CALL_OUTPUT_DEVICES; 302 std::vector<std::shared_ptr<AudioDeviceDescriptor>> audioDeviceDescriptors = 303 AudioSystemManager::GetInstance()->GetExcludedDevices(audioDevUsage); 304 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetExcludedDevicesTest_002() audioDeviceDescriptors.size:%{public}zu", 305 audioDeviceDescriptors.size()); 306 EXPECT_EQ(audioDeviceDescriptors.size(), 0); 307 } 308 309 /** 310 * @tc.name : Test SetSelfAppVolume API 311 * @tc.number : SetAppVolume_001 312 * @tc.desc : Test SetSelfAppVolume interface 313 */ 314 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolume_001, TestSize.Level1) 315 { 316 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolume_001 start"); 317 int volume = 10; 318 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolume(volume); 319 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolume_001 end result:%{public}d", result); 320 EXPECT_EQ(result, TEST_RET_NUM); 321 } 322 323 /** 324 * @tc.name : Test GetSelfAppVolume API 325 * @tc.number : GetSelfAppVolume_001 326 * @tc.desc : Test GetSelfAppVolume interface 327 */ 328 HWTEST(AudioSystemManagerUnitTest, GetSelfAppVolume_001, TestSize.Level1) 329 { 330 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetSelfAppVolume_001 start"); 331 int volume = 10; 332 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolume(volume); 333 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolume end result:%{public}d", result); 334 EXPECT_EQ(result, TEST_RET_NUM); 335 result = AudioSystemManager::GetInstance()->GetSelfAppVolume(); 336 AUDIO_INFO_LOG("AudioSystemManagerUnitTest GetSelfAppVolume_001 end result:%{public}d", result); 337 EXPECT_GT(result, TEST_RET_NUM); 338 } 339 340 /** 341 * @tc.name : Test SetSelfAppVolumeCallback API 342 * @tc.number : SetSelfAppVolumeCallback_001 343 * @tc.desc : Test SetSelfAppVolumeCallback interface 344 */ 345 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolumeCallback_001, TestSize.Level1) 346 { 347 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback_001 start"); 348 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback = nullptr; 349 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback); 350 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback end result:%{public}d", result); 351 EXPECT_NE(result, TEST_RET_NUM); 352 result = AudioSystemManager::GetInstance()->UnsetSelfAppVolumeCallback(callback); 353 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnsetAppVolumeCallback end result:%{public}d", result); 354 EXPECT_NE(result, TEST_RET_NUM); 355 } 356 357 /** 358 * @tc.name : Test SetSelfAppVolumeCallback API 359 * @tc.number : SetSelfAppVolumeCallback_002 360 * @tc.desc : Test SetSelfAppVolumeCallback interface 361 */ 362 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolumeCallback_002, TestSize.Level1) 363 { 364 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback_002 start"); 365 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback = 366 std::make_shared<AudioManagerAppVolumeChangeCallbackTest>(); 367 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback); 368 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback1 end result:%{public}d", result); 369 EXPECT_EQ(result, TEST_RET_NUM); 370 result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback); 371 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback2 end result:%{public}d", result); 372 EXPECT_EQ(result, TEST_RET_NUM); 373 result = AudioSystemManager::GetInstance()->UnsetSelfAppVolumeCallback(callback); 374 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnsetSelfAppVolumeCallback end result:%{public}d", result); 375 EXPECT_EQ(result, TEST_RET_NUM); 376 } 377 378 /** 379 * @tc.name : Test SetSelfAppVolumeCallback API 380 * @tc.number : SetSelfAppVolumeCallback_003 381 * @tc.desc : Test SetSelfAppVolumeCallback interface 382 */ 383 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolumeCallback_003, TestSize.Level1) 384 { 385 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback_003 start"); 386 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback1 = 387 std::make_shared<AudioManagerAppVolumeChangeCallbackTest>(); 388 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback2 = 389 std::make_shared<AudioManagerAppVolumeChangeCallbackTest>(); 390 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback1); 391 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback1 end result:%{public}d", result); 392 EXPECT_EQ(result, TEST_RET_NUM); 393 result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback2); 394 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback2 end result:%{public}d", result); 395 EXPECT_EQ(result, TEST_RET_NUM); 396 result = AudioSystemManager::GetInstance()->UnsetSelfAppVolumeCallback(callback2); 397 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnsetSelfAppVolumeCallback end result:%{public}d", result); 398 EXPECT_EQ(result, TEST_RET_NUM); 399 } 400 401 /** 402 * @tc.name : Test SetSelfAppVolumeCallback API 403 * @tc.number : SetSelfAppVolumeCallback_004 404 * @tc.desc : Test SetSelfAppVolumeCallback interface 405 */ 406 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolumeCallback_004, TestSize.Level1) 407 { 408 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback_004 start"); 409 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback = 410 std::make_shared<AudioManagerAppVolumeChangeCallbackTest>(); 411 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback); 412 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback1 end result:%{public}d", result); 413 EXPECT_EQ(result, TEST_RET_NUM); 414 result = AudioSystemManager::GetInstance()->UnsetSelfAppVolumeCallback(callback); 415 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnsetSelfAppVolumeCallback end result:%{public}d", result); 416 EXPECT_EQ(result, TEST_RET_NUM); 417 } 418 419 /** 420 * @tc.name : Test SetSelfAppVolumeCallback API 421 * @tc.number : SetSelfAppVolumeCallback_005 422 * @tc.desc : Test SetSelfAppVolumeCallback interface 423 */ 424 HWTEST(AudioSystemManagerUnitTest, SetSelfAppVolumeCallback_005, TestSize.Level1) 425 { 426 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback_005 start"); 427 std::shared_ptr<AudioManagerAppVolumeChangeCallback> callback = 428 std::make_shared<AudioManagerAppVolumeChangeCallbackTest>(); 429 int32_t result = AudioSystemManager::GetInstance()->SetSelfAppVolumeCallback(callback); 430 AUDIO_INFO_LOG("AudioSystemManagerUnitTest SetSelfAppVolumeCallback1 end result:%{public}d", result); 431 EXPECT_EQ(result, TEST_RET_NUM); 432 result = AudioSystemManager::GetInstance()->UnsetSelfAppVolumeCallback(nullptr); 433 AUDIO_INFO_LOG("AudioSystemManagerUnitTest UnsetSelfAppVolumeCallback end result:%{public}d", result); 434 EXPECT_EQ(result, TEST_RET_NUM); 435 } 436 } // namespace AudioStandard 437 } // namespace OHOS