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 "audio_haptic_player_impl_unit_test.h"
17
18 namespace OHOS {
19 namespace Media {
20 using namespace testing::ext;
21
22 const int32_t NUM2 = 2;
23 const float NUM_1 = -1.0f;
24 const float NUM_2 = 2.0f;
25 const float NUM_3 = 0.5f;
26 const float NUM_4 = 200.0f;
27
SetUpTestCase(void)28 void AudioHapticPlayerImplUnitTest::SetUpTestCase(void) {}
TearDownTestCase(void)29 void AudioHapticPlayerImplUnitTest::TearDownTestCase(void) {}
SetUp(void)30 void AudioHapticPlayerImplUnitTest::SetUp(void) {}
TearDown(void)31 void AudioHapticPlayerImplUnitTest::TearDown(void) {}
32
33 /**
34 * @tc.name : Test AudioHapticPlayerImpl API
35 * @tc.number: AudioHapticPlayerImpl_001
36 * @tc.desc : Test AudioHapticSound::CreateAudioHapticSound()
37 */
38 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_001, TestSize.Level1)
39 {
40 AudioSource audioSource = {.audioUri = "123"};
41 bool muteAudio = true;
42 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
43 auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
44
45 EXPECT_NE(audioHapticSound, nullptr);
46
47 AudioLatencyMode latencyMode = static_cast<AudioLatencyMode>(NUM2);
48 bool parallelPlayFlag = true;
49
50 auto ret = audioHapticSound->CreateAudioHapticSound(latencyMode, audioSource, muteAudio,
51 streamUsage, parallelPlayFlag);
52 EXPECT_EQ(ret, nullptr);
53 }
54
55 /**
56 * @tc.name : Test AudioHapticPlayerImpl API
57 * @tc.number: AudioHapticPlayerImpl_002
58 * @tc.desc : Test AudioHapticSound::CreateAudioHapticSound()
59 */
60 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_002, TestSize.Level1)
61 {
62 AudioSource audioSource = {.audioUri = "123"};
63 bool muteAudio = true;
64 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
65 auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
66
67 EXPECT_NE(audioHapticSound, nullptr);
68
69 AudioLatencyMode latencyMode = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
70 bool parallelPlayFlag = true;
71
72 auto ret = audioHapticSound->CreateAudioHapticSound(latencyMode, audioSource, muteAudio,
73 streamUsage, parallelPlayFlag);
74 EXPECT_NE(ret, nullptr);
75 }
76
77 /**
78 * @tc.name : Test AudioHapticPlayerImpl API
79 * @tc.number: AudioHapticPlayerImpl_003
80 * @tc.desc : Test AudioHapticSound::CreateAudioHapticSound()
81 */
82 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_003, TestSize.Level1)
83 {
84 AudioSource audioSource = {.audioUri = "123"};
85 bool muteAudio = true;
86 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
87 auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
88
89 EXPECT_NE(audioHapticSound, nullptr);
90
91 AudioLatencyMode latencyMode = AudioLatencyMode::AUDIO_LATENCY_MODE_FAST;
92 bool parallelPlayFlag = true;
93
94 auto ret = audioHapticSound->CreateAudioHapticSound(latencyMode, audioSource, muteAudio,
95 streamUsage, parallelPlayFlag);
96 EXPECT_NE(ret, nullptr);
97 }
98
99 /**
100 * @tc.name : Test AudioHapticPlayerImpl API
101 * @tc.number: AudioHapticPlayerImpl_004
102 * @tc.desc : Test AudioHapticPlayerImpl::~AudioHapticPlayerImpl()
103 */
104 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_004, TestSize.Level1)
105 {
106 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
107
108 EXPECT_NE(audioHapticPlayerImpl, nullptr);
109 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
110 }
111
112 /**
113 * @tc.name : Test AudioHapticPlayerImpl API
114 * @tc.number: AudioHapticPlayerImpl_005
115 * @tc.desc : Test AudioHapticPlayerImpl::~AudioHapticPlayerImpl()
116 */
117 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_005, TestSize.Level1)
118 {
119 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
120
121 EXPECT_NE(audioHapticPlayerImpl, nullptr);
122 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
123 }
124
125 /**
126 * @tc.name : Test AudioHapticPlayerImpl API
127 * @tc.number: AudioHapticPlayerImpl_006
128 * @tc.desc : Test AudioHapticPlayerImpl::IsMuted()
129 */
130 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_006, TestSize.Level1)
131 {
132 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
133
134 EXPECT_NE(audioHapticPlayerImpl, nullptr);
135
136 AudioHapticType audioHapticType = AudioHapticType::AUDIO_HAPTIC_TYPE_AUDIO;
137 audioHapticPlayerImpl->muteAudio_ = true;
138
139 auto ret = audioHapticPlayerImpl->IsMuted(audioHapticType);
140 EXPECT_EQ(ret, true);
141 }
142
143 /**
144 * @tc.name : Test AudioHapticPlayerImpl API
145 * @tc.number: AudioHapticPlayerImpl_007
146 * @tc.desc : Test AudioHapticPlayerImpl::IsMuted()
147 */
148 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_007, TestSize.Level1)
149 {
150 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
151
152 EXPECT_NE(audioHapticPlayerImpl, nullptr);
153
154 AudioHapticType audioHapticType = AudioHapticType::AUDIO_HAPTIC_TYPE_HAPTIC;
155 audioHapticPlayerImpl->muteHaptic_ = true;
156
157 auto ret = audioHapticPlayerImpl->IsMuted(audioHapticType);
158 EXPECT_EQ(ret, true);
159 }
160
161 /**
162 * @tc.name : Test AudioHapticPlayerImpl API
163 * @tc.number: AudioHapticPlayerImpl_008
164 * @tc.desc : Test AudioHapticPlayerImpl::IsMuted()
165 */
166 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_008, TestSize.Level1)
167 {
168 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
169
170 EXPECT_NE(audioHapticPlayerImpl, nullptr);
171
172 AudioHapticType audioHapticType = static_cast<AudioHapticType>(NUM2);
173 audioHapticPlayerImpl->muteHaptic_ = true;
174
175 auto ret = audioHapticPlayerImpl->IsMuted(audioHapticType);
176 EXPECT_EQ(ret, false);
177 }
178
179 /**
180 * @tc.name : Test AudioHapticPlayerImpl API
181 * @tc.number: AudioHapticPlayerImpl_009
182 * @tc.desc : Test AudioHapticPlayerImpl::Start()
183 */
184 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_009, TestSize.Level1)
185 {
186 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
187
188 EXPECT_NE(audioHapticPlayerImpl, nullptr);
189
190 audioHapticPlayerImpl->vibrateThread_ = std::make_shared<std::thread>();
191 EXPECT_NE(audioHapticPlayerImpl->vibrateThread_, nullptr);
192
193 auto ret = audioHapticPlayerImpl->Start();
194 EXPECT_NE(ret, MSERR_OK);
195 }
196
197 /**
198 * @tc.name : Test AudioHapticPlayerImpl API
199 * @tc.number: AudioHapticPlayerImpl_010
200 * @tc.desc : Test AudioHapticPlayerImpl::Start()
201 */
202 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_010, TestSize.Level1)
203 {
204 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
205
206 EXPECT_NE(audioHapticPlayerImpl, nullptr);
207
208 audioHapticPlayerImpl->vibrateThread_ = nullptr;
209
210 auto ret = audioHapticPlayerImpl->Start();
211 EXPECT_NE(ret, MSERR_OK);
212 }
213
214 /**
215 * @tc.name : Test AudioHapticPlayerImpl API
216 * @tc.number: AudioHapticPlayerImpl_011
217 * @tc.desc : Test AudioHapticPlayerImpl::ReleaseVibrator()
218 */
219 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_011, TestSize.Level1)
220 {
221 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
222
223 EXPECT_NE(audioHapticPlayerImpl, nullptr);
224
225 AudioHapticPlayerImpl audioHapticPlayerImpl2;
226 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
227 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
228
229 audioHapticPlayerImpl->vibrateThread_ = std::make_shared<std::thread>();
230 EXPECT_NE(audioHapticPlayerImpl->vibrateThread_, nullptr);
231
232 audioHapticPlayerImpl->ReleaseVibrator();
233 }
234
235 /**
236 * @tc.name : Test AudioHapticPlayerImpl API
237 * @tc.number: AudioHapticPlayerImpl_012
238 * @tc.desc : Test AudioHapticPlayerImpl::ReleaseVibrator()
239 */
240 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_012, TestSize.Level1)
241 {
242 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
243
244 EXPECT_NE(audioHapticPlayerImpl, nullptr);
245
246 audioHapticPlayerImpl->audioHapticVibrator_ = nullptr;
247 audioHapticPlayerImpl->vibrateThread_ = nullptr;
248
249 audioHapticPlayerImpl->ReleaseVibrator();
250 }
251
252 /**
253 * @tc.name : Test AudioHapticPlayerImpl API
254 * @tc.number: AudioHapticPlayerImpl_013
255 * @tc.desc : Test AudioHapticPlayerImpl::ReleaseSound()
256 */
257 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_013, TestSize.Level1)
258 {
259 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
260
261 EXPECT_NE(audioHapticPlayerImpl, nullptr);
262
263 AudioSource audioSource = {.audioUri = "123"};
264 bool muteAudio = true;
265 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
266 auto audioHapticSoundNormalImpl =
267 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
268
269 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
270
271 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
272 audioHapticPlayerImpl->ReleaseSound();
273 }
274
275 /**
276 * @tc.name : Test AudioHapticPlayerImpl API
277 * @tc.number: AudioHapticPlayerImpl_014
278 * @tc.desc : Test AudioHapticPlayerImpl::ReleaseSound()
279 */
280 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_014, TestSize.Level1)
281 {
282 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
283
284 EXPECT_NE(audioHapticPlayerImpl, nullptr);
285
286 audioHapticPlayerImpl->audioHapticSound_ = nullptr;
287 audioHapticPlayerImpl->ReleaseSound();
288 }
289
290 /**
291 * @tc.name : Test AudioHapticPlayerImpl API
292 * @tc.number: AudioHapticPlayerImpl_015
293 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
294 */
295 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_015, TestSize.Level1)
296 {
297 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
298
299 EXPECT_NE(audioHapticPlayerImpl, nullptr);
300
301 float volume = NUM_1;
302 auto ret = audioHapticPlayerImpl->SetVolume(volume);
303 EXPECT_EQ(ret, MSERR_INVALID_VAL);
304 }
305
306 /**
307 * @tc.name : Test AudioHapticPlayerImpl API
308 * @tc.number: AudioHapticPlayerImpl_016
309 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
310 */
311 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_016, TestSize.Level1)
312 {
313 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
314
315 EXPECT_NE(audioHapticPlayerImpl, nullptr);
316
317 float volume = NUM_2;
318 auto ret = audioHapticPlayerImpl->SetVolume(volume);
319 EXPECT_EQ(ret, MSERR_INVALID_VAL);
320 }
321
322 /**
323 * @tc.name : Test AudioHapticPlayerImpl API
324 * @tc.number: AudioHapticPlayerImpl_017
325 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
326 */
327 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_017, TestSize.Level1)
328 {
329 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
330
331 EXPECT_NE(audioHapticPlayerImpl, nullptr);
332
333 float volume = NUM_3;
334 audioHapticPlayerImpl->audioHapticSound_ = nullptr;
335
336 auto ret = audioHapticPlayerImpl->SetVolume(volume);
337 EXPECT_EQ(ret, MSERR_OK);
338 }
339
340 /**
341 * @tc.name : Test AudioHapticPlayerImpl API
342 * @tc.number: AudioHapticPlayerImpl_018
343 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
344 */
345 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_018, TestSize.Level1)
346 {
347 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
348
349 EXPECT_NE(audioHapticPlayerImpl, nullptr);
350
351 float volume = 0.0f;
352
353 AudioSource audioSource = {.audioUri = "123"};
354 bool muteAudio = true;
355 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
356 auto audioHapticSoundNormalImpl =
357 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
358
359 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
360
361 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
362
363 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
364 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
365 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
366
367 auto ret = audioHapticPlayerImpl->SetVolume(volume);
368 EXPECT_EQ(ret, MSERR_OK);
369 }
370
371 /**
372 * @tc.name : Test AudioHapticPlayerImpl API
373 * @tc.number: AudioHapticPlayerImpl_019
374 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
375 */
376 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_019, TestSize.Level1)
377 {
378 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
379
380 EXPECT_NE(audioHapticPlayerImpl, nullptr);
381
382 float volume = NUM_3;
383
384 AudioSource audioSource = {.audioUri = "123"};
385 bool muteAudio = true;
386 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
387 auto audioHapticSoundNormalImpl =
388 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
389
390 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
391
392 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
393
394 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
395 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
396 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
397
398 auto ret = audioHapticPlayerImpl->SetVolume(volume);
399 EXPECT_EQ(ret, MSERR_OK);
400 }
401
402 /**
403 * @tc.name : Test AudioHapticPlayerImpl API
404 * @tc.number: AudioHapticPlayerImpl_020
405 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
406 */
407 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_020, TestSize.Level1)
408 {
409 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
410
411 EXPECT_NE(audioHapticPlayerImpl, nullptr);
412
413 float volume = NUM_3;
414
415 AudioSource audioSource = {.audioUri = "123"};
416 bool muteAudio = true;
417 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
418 auto audioHapticSoundNormalImpl =
419 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
420
421 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
422
423 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
424
425 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
426 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
427 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
428
429 auto ret = audioHapticPlayerImpl->SetVolume(volume);
430 EXPECT_EQ(ret, MSERR_OK);
431 }
432
433 /**
434 * @tc.name : Test AudioHapticPlayerImpl API
435 * @tc.number: AudioHapticPlayerImpl_021
436 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
437 */
438 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_021, TestSize.Level1)
439 {
440 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
441
442 EXPECT_NE(audioHapticPlayerImpl, nullptr);
443
444 float volume = NUM_3;
445
446 AudioSource audioSource = {.audioUri = "123"};
447 bool muteAudio = true;
448 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
449 auto audioHapticSoundNormalImpl =
450 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
451
452 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
453
454 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
455
456 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
457 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_RINGTONE;
458 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
459
460 auto ret = audioHapticPlayerImpl->SetVolume(volume);
461 EXPECT_EQ(ret, MSERR_OK);
462 }
463
464 /**
465 * @tc.name : Test AudioHapticPlayerImpl API
466 * @tc.number: AudioHapticPlayerImpl_022
467 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
468 */
469 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_022, TestSize.Level1)
470 {
471 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
472
473 EXPECT_NE(audioHapticPlayerImpl, nullptr);
474
475 float volume = NUM_3;
476
477 AudioSource audioSource = {.audioUri = "123"};
478 bool muteAudio = true;
479 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
480 auto audioHapticSoundNormalImpl =
481 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
482
483 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
484
485 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
486
487 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
488 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
489 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
490
491 auto ret = audioHapticPlayerImpl->SetVolume(volume);
492 EXPECT_EQ(ret, MSERR_OK);
493 }
494
495 /**
496 * @tc.name : Test AudioHapticPlayerImpl API
497 * @tc.number: AudioHapticPlayerImpl_023
498 * @tc.desc : Test AudioHapticPlayerImpl::SetVolume()
499 */
500 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_023, TestSize.Level1)
501 {
502 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
503
504 EXPECT_NE(audioHapticPlayerImpl, nullptr);
505
506 float volume = NUM_3;
507
508 AudioSource audioSource = {.audioUri = "123"};
509 bool muteAudio = true;
510 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
511 auto audioHapticSoundNormalImpl =
512 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
513
514 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
515
516 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
517
518 audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_FAST;
519 audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
520 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
521
522 auto ret = audioHapticPlayerImpl->SetVolume(volume);
523 EXPECT_EQ(ret, MSERR_OK);
524 }
525
526 /**
527 * @tc.name : Test AudioHapticPlayerImpl API
528 * @tc.number: AudioHapticPlayerImpl_024
529 * @tc.desc : Test AudioHapticPlayerImpl::SetHapticIntensity()
530 */
531 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_024, TestSize.Level1)
532 {
533 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
534
535 EXPECT_NE(audioHapticPlayerImpl, nullptr);
536
537 float intensity = NUM_1;
538 auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
539 EXPECT_EQ(ret, NOT_SUPPORTED_CODE);
540 }
541
542 /**
543 * @tc.name : Test AudioHapticPlayerImpl API
544 * @tc.number: AudioHapticPlayerImpl_025
545 * @tc.desc : Test AudioHapticPlayerImpl::SetHapticIntensity()
546 */
547 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_025, TestSize.Level1)
548 {
549 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
550
551 EXPECT_NE(audioHapticPlayerImpl, nullptr);
552
553 float intensity = NUM_2;
554
555 AudioHapticPlayerImpl audioHapticPlayerImpl2;
556 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
557 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
558
559 auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
560 EXPECT_NE(ret, MSERR_OK);
561 }
562
563 /**
564 * @tc.name : Test AudioHapticPlayerImpl API
565 * @tc.number: AudioHapticPlayerImpl_026
566 * @tc.desc : Test AudioHapticPlayerImpl::SetHapticIntensity()
567 */
568 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_026, TestSize.Level1)
569 {
570 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
571
572 EXPECT_NE(audioHapticPlayerImpl, nullptr);
573
574 AudioHapticPlayerImpl audioHapticPlayerImpl2;
575 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
576 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
577
578 float intensity = NUM_1;
579 auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
580 EXPECT_NE(ret, MSERR_INVALID_VAL);
581
582 intensity = NUM_4;
583 ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
584 EXPECT_NE(ret, MSERR_INVALID_VAL);
585 }
586
587 /**
588 * @tc.name : Test AudioHapticPlayerImpl API
589 * @tc.number: AudioHapticPlayerImpl_027
590 * @tc.desc : Test AudioHapticPlayerImpl::SetLoop()
591 */
592 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_027, TestSize.Level1)
593 {
594 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
595
596 EXPECT_NE(audioHapticPlayerImpl, nullptr);
597
598 bool loop = true;
599
600 AudioSource audioSource = {.audioUri = "123"};
601 bool muteAudio = true;
602 AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
603 auto audioHapticSoundNormalImpl =
604 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, muteAudio, streamUsage);
605
606 EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
607
608 audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
609
610 auto ret = audioHapticPlayerImpl->SetLoop(loop);
611 EXPECT_EQ(ret, MSERR_OK);
612 }
613
614 /**
615 * @tc.name : Test AudioHapticPlayerImpl API
616 * @tc.number: AudioHapticPlayerImpl_028
617 * @tc.desc : Test AudioHapticPlayerImpl::SetLoop()
618 */
619 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_028, TestSize.Level1)
620 {
621 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
622
623 EXPECT_NE(audioHapticPlayerImpl, nullptr);
624
625 bool loop = true;
626
627 audioHapticPlayerImpl->audioHapticSound_ = nullptr;
628
629 auto ret = audioHapticPlayerImpl->SetLoop(loop);
630 EXPECT_EQ(ret, MSERR_OK);
631 }
632
633 /**
634 * @tc.name : Test AudioHapticPlayerImpl API
635 * @tc.number: AudioHapticPlayerImpl_029
636 * @tc.desc : Test AudioHapticPlayerImpl::SetAudioHapticPlayerCallback()
637 */
638 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_029, TestSize.Level1)
639 {
640 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
641
642 EXPECT_NE(audioHapticPlayerImpl, nullptr);
643
644 std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
645 EXPECT_NE(playerCallback, nullptr);
646
647 auto ret = audioHapticPlayerImpl->SetAudioHapticPlayerCallback(playerCallback);
648 EXPECT_EQ(ret, MSERR_OK);
649 }
650
651 /**
652 * @tc.name : Test AudioHapticPlayerImpl API
653 * @tc.number: AudioHapticPlayerImpl_030
654 * @tc.desc : Test AudioHapticPlayerImpl::SetAudioHapticPlayerCallback()
655 */
656 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_030, TestSize.Level1)
657 {
658 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
659
660 EXPECT_NE(audioHapticPlayerImpl, nullptr);
661
662 std::shared_ptr<AudioHapticPlayerCallback> playerCallback = nullptr;
663
664 auto ret = audioHapticPlayerImpl->SetAudioHapticPlayerCallback(playerCallback);
665 EXPECT_EQ(ret, MSERR_INVALID_VAL);
666 }
667
668 /**
669 * @tc.name : Test AudioHapticPlayerImpl API
670 * @tc.number: AudioHapticPlayerImpl_031
671 * @tc.desc : Test AudioHapticPlayerImpl::StartVibrate()
672 */
673 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_031, TestSize.Level1)
674 {
675 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
676
677 EXPECT_NE(audioHapticPlayerImpl, nullptr);
678
679 audioHapticPlayerImpl->muteHaptic_ = true;
680
681 auto ret = audioHapticPlayerImpl->StartVibrate();
682 EXPECT_EQ(ret, MSERR_OK);
683 }
684
685 /**
686 * @tc.name : Test AudioHapticPlayerImpl API
687 * @tc.number: AudioHapticPlayerImpl_032
688 * @tc.desc : Test AudioHapticPlayerImpl::StartVibrate()
689 */
690 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_032, TestSize.Level1)
691 {
692 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
693
694 EXPECT_NE(audioHapticPlayerImpl, nullptr);
695
696 audioHapticPlayerImpl->muteHaptic_ = false;
697 audioHapticPlayerImpl->isVibrationStopped_ = true;
698 audioHapticPlayerImpl->loop_ = true;
699
700 auto ret = audioHapticPlayerImpl->StartVibrate();
701 EXPECT_EQ(ret, MSERR_OK);
702 }
703
704 /**
705 * @tc.name : Test AudioHapticPlayerImpl API
706 * @tc.number: AudioHapticPlayerImpl_033
707 * @tc.desc : Test AudioHapticPlayerImpl::StartVibrate()
708 */
709 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_033, TestSize.Level1)
710 {
711 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
712
713 EXPECT_NE(audioHapticPlayerImpl, nullptr);
714
715 audioHapticPlayerImpl->muteHaptic_ = false;
716 audioHapticPlayerImpl->isVibrationStopped_ = false;
717 audioHapticPlayerImpl->loop_ = true;
718
719 auto ret = audioHapticPlayerImpl->StartVibrate();
720 EXPECT_EQ(ret, MSERR_INVALID_OPERATION);
721 }
722
723 /**
724 * @tc.name : Test AudioHapticPlayerImpl API
725 * @tc.number: AudioHapticPlayerImpl_034
726 * @tc.desc : Test AudioHapticPlayerImpl::StartVibrate()
727 */
728 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_034, TestSize.Level1)
729 {
730 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
731
732 EXPECT_NE(audioHapticPlayerImpl, nullptr);
733
734 audioHapticPlayerImpl->muteHaptic_ = false;
735 audioHapticPlayerImpl->isVibrationStopped_ = false;
736 audioHapticPlayerImpl->loop_ = false;
737
738 auto ret = audioHapticPlayerImpl->StartVibrate();
739 EXPECT_EQ(ret, MSERR_INVALID_OPERATION);
740 }
741
742 /**
743 * @tc.name : Test AudioHapticPlayerImpl API
744 * @tc.number: AudioHapticPlayerImpl_035
745 * @tc.desc : Test AudioHapticPlayerImpl::StopVibrate()
746 */
747 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_035, TestSize.Level1)
748 {
749 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
750
751 EXPECT_NE(audioHapticPlayerImpl, nullptr);
752
753 AudioHapticPlayerImpl audioHapticPlayerImpl2;
754 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
755 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
756
757 audioHapticPlayerImpl->vibrateThread_ = std::make_shared<std::thread>();
758 EXPECT_NE(audioHapticPlayerImpl->vibrateThread_, nullptr);
759
760 audioHapticPlayerImpl->StopVibrate();
761 }
762
763 /**
764 * @tc.name : Test AudioHapticPlayerImpl API
765 * @tc.number: AudioHapticPlayerImpl_036
766 * @tc.desc : Test AudioHapticPlayerImpl::StopVibrate()
767 */
768 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_036, TestSize.Level1)
769 {
770 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
771
772 EXPECT_NE(audioHapticPlayerImpl, nullptr);
773
774 audioHapticPlayerImpl->audioHapticVibrator_ = nullptr;
775 audioHapticPlayerImpl->vibrateThread_ = nullptr;
776
777 audioHapticPlayerImpl->StopVibrate();
778 }
779
780 /**
781 * @tc.name : Test AudioHapticPlayerImpl API
782 * @tc.number: AudioHapticPlayerImpl_037
783 * @tc.desc : Test AudioHapticPlayerImpl::ResetVibrateState()
784 */
785 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_037, TestSize.Level1)
786 {
787 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
788
789 EXPECT_NE(audioHapticPlayerImpl, nullptr);
790
791 AudioHapticPlayerImpl audioHapticPlayerImpl2;
792 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
793 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
794
795 audioHapticPlayerImpl->ResetVibrateState();
796 }
797
798 /**
799 * @tc.name : Test AudioHapticPlayerImpl API
800 * @tc.number: AudioHapticPlayerImpl_038
801 * @tc.desc : Test AudioHapticPlayerImpl::ResetVibrateState()
802 */
803 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_038, TestSize.Level1)
804 {
805 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
806
807 EXPECT_NE(audioHapticPlayerImpl, nullptr);
808
809 audioHapticPlayerImpl->audioHapticVibrator_ = nullptr;
810
811 audioHapticPlayerImpl->ResetVibrateState();
812 }
813
814 /**
815 * @tc.name : Test AudioHapticPlayerImpl API
816 * @tc.number: AudioHapticPlayerImpl_039
817 * @tc.desc : Test AudioHapticPlayerImpl::NotifyInterruptEvent()
818 */
819 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_039, TestSize.Level1)
820 {
821 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
822
823 EXPECT_NE(audioHapticPlayerImpl, nullptr);
824
825 AudioStandard::InterruptEvent interruptEvent;
826 std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
827 audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
828 EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
829
830 audioHapticPlayerImpl->NotifyInterruptEvent(interruptEvent);
831 }
832
833 /**
834 * @tc.name : Test AudioHapticPlayerImpl API
835 * @tc.number: AudioHapticPlayerImpl_040
836 * @tc.desc : Test AudioHapticPlayerImpl::NotifyInterruptEvent()
837 */
838 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_040, TestSize.Level1)
839 {
840 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
841
842 EXPECT_NE(audioHapticPlayerImpl, nullptr);
843
844 AudioStandard::InterruptEvent interruptEvent;
845 audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
846
847 audioHapticPlayerImpl->NotifyInterruptEvent(interruptEvent);
848 }
849
850 /**
851 * @tc.name : Test AudioHapticPlayerImpl API
852 * @tc.number: AudioHapticPlayerImpl_041
853 * @tc.desc : Test AudioHapticPlayerImpl::NotifyEndOfStreamEvent()
854 */
855 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_041, TestSize.Level1)
856 {
857 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
858
859 EXPECT_NE(audioHapticPlayerImpl, nullptr);
860
861 std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
862 audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
863 EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
864
865 audioHapticPlayerImpl->NotifyEndOfStreamEvent();
866 }
867
868 /**
869 * @tc.name : Test AudioHapticPlayerImpl API
870 * @tc.number: AudioHapticPlayerImpl_042
871 * @tc.desc : Test AudioHapticPlayerImpl::NotifyEndOfStreamEvent()
872 */
873 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_042, TestSize.Level1)
874 {
875 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
876
877 EXPECT_NE(audioHapticPlayerImpl, nullptr);
878
879 audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
880
881 audioHapticPlayerImpl->NotifyEndOfStreamEvent();
882 }
883
884 /**
885 * @tc.name : Test AudioHapticPlayerImpl API
886 * @tc.number: AudioHapticPlayerImpl_043
887 * @tc.desc : Test AudioHapticPlayerImpl::HandleEndOfStreamEventThreadFunc()
888 */
889 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_043, TestSize.Level1)
890 {
891 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
892
893 EXPECT_NE(audioHapticPlayerImpl, nullptr);
894
895 std::weak_ptr<AudioHapticPlayerImpl> player = audioHapticPlayerImpl;
896 EXPECT_NE(player.lock(), nullptr);
897
898 audioHapticPlayerImpl->HandleEndOfStreamEventThreadFunc(player);
899 }
900
901 /**
902 * @tc.name : Test AudioHapticPlayerImpl API
903 * @tc.number: AudioHapticPlayerImpl_044
904 * @tc.desc : Test AudioHapticPlayerImpl::HandleEndOfStreamEventThreadFunc()
905 */
906 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_044, TestSize.Level1)
907 {
908 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
909
910 EXPECT_NE(audioHapticPlayerImpl, nullptr);
911
912 std::weak_ptr<AudioHapticPlayerImpl> player;
913
914 audioHapticPlayerImpl->HandleEndOfStreamEventThreadFunc(player);
915 }
916
917 /**
918 * @tc.name : Test AudioHapticPlayerImpl API
919 * @tc.number: AudioHapticPlayerImpl_045
920 * @tc.desc : Test AudioHapticPlayerImpl::HandleEndOfStreamEvent()
921 */
922 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_045, TestSize.Level1)
923 {
924 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
925
926 EXPECT_NE(audioHapticPlayerImpl, nullptr);
927
928 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
929
930 audioHapticPlayerImpl->HandleEndOfStreamEvent();
931 }
932
933 /**
934 * @tc.name : Test AudioHapticPlayerImpl API
935 * @tc.number: AudioHapticPlayerImpl_046
936 * @tc.desc : Test AudioHapticPlayerImpl::HandleEndOfStreamEvent()
937 */
938 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_046, TestSize.Level1)
939 {
940 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
941
942 EXPECT_NE(audioHapticPlayerImpl, nullptr);
943
944 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_STOPPED;
945 audioHapticPlayerImpl->HandleEndOfStreamEvent();
946 EXPECT_EQ(audioHapticPlayerImpl->playerState_, AudioHapticPlayerState::STATE_STOPPED);
947
948 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
949 audioHapticPlayerImpl->HandleEndOfStreamEvent();
950 EXPECT_EQ(audioHapticPlayerImpl->playerState_, AudioHapticPlayerState::STATE_STOPPED);
951
952 int32_t syncId = 1;
953 audioHapticPlayerImpl->audioHapticSyncId_ = syncId;
954 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
955 audioHapticPlayerImpl->HandleEndOfStreamEvent();
956 EXPECT_EQ(audioHapticPlayerImpl->playerState_, AudioHapticPlayerState::STATE_STOPPED);
957 EXPECT_EQ(audioHapticPlayerImpl->audioHapticSyncId_, syncId);
958
959 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
960 audioHapticPlayerImpl->isSupportDSPSync_ = false;
961 audioHapticPlayerImpl->loop_ = true;
962 audioHapticPlayerImpl->HandleEndOfStreamEvent();
963 EXPECT_EQ(audioHapticPlayerImpl->playerState_, AudioHapticPlayerState::STATE_NEW);
964 EXPECT_EQ(audioHapticPlayerImpl->audioHapticSyncId_, syncId);
965
966 audioHapticPlayerImpl->isSupportDSPSync_ = true;
967 audioHapticPlayerImpl->HandleEndOfStreamEvent();
968 EXPECT_EQ(audioHapticPlayerImpl->playerState_, AudioHapticPlayerState::STATE_NEW);
969 EXPECT_EQ(audioHapticPlayerImpl->audioHapticSyncId_, ++syncId);
970 }
971
972 /**
973 * @tc.name : Test AudioHapticPlayerImpl API
974 * @tc.number: AudioHapticPlayerImpl_047
975 * @tc.desc : Test AudioHapticPlayerImpl::NotifyErrorEvent()
976 */
977 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_047, TestSize.Level1)
978 {
979 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
980
981 EXPECT_NE(audioHapticPlayerImpl, nullptr);
982
983 int32_t errCode = 0;
984 std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
985 audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
986 EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
987
988 audioHapticPlayerImpl->NotifyErrorEvent(errCode);
989 }
990
991 /**
992 * @tc.name : Test AudioHapticPlayerImpl API
993 * @tc.number: AudioHapticPlayerImpl_048
994 * @tc.desc : Test AudioHapticPlayerImpl::NotifyErrorEvent()
995 */
996 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_048, TestSize.Level1)
997 {
998 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
999
1000 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1001
1002 int32_t errCode = 0;
1003 audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
1004
1005 audioHapticPlayerImpl->NotifyErrorEvent(errCode);
1006 }
1007
1008 /**
1009 * @tc.name : Test AudioHapticSoundCallbackImpl API
1010 * @tc.number: AudioHapticPlayerImpl_049
1011 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnEndOfStream()
1012 */
1013 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_049, TestSize.Level1)
1014 {
1015 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1016 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1017 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1018 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1019
1020 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1021 EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1022
1023 audioHapticSoundCallbackImpl->OnEndOfStream();
1024 }
1025
1026 /**
1027 * @tc.name : Test AudioHapticSoundCallbackImpl API
1028 * @tc.number: AudioHapticPlayerImpl_050
1029 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnEndOfStream()
1030 */
1031 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_050, TestSize.Level1)
1032 {
1033 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1034 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1035 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1036 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1037
1038 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1039
1040 audioHapticSoundCallbackImpl->OnEndOfStream();
1041 }
1042
1043 /**
1044 * @tc.name : Test AudioHapticSoundCallbackImpl API
1045 * @tc.number: AudioHapticPlayerImpl_051
1046 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnError()
1047 */
1048 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_051, TestSize.Level1)
1049 {
1050 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1051 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1052 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1053 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1054
1055 int32_t errorCode = 0;
1056 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1057 EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1058
1059 audioHapticSoundCallbackImpl->OnError(errorCode);
1060 }
1061
1062 /**
1063 * @tc.name : Test AudioHapticSoundCallbackImpl API
1064 * @tc.number: AudioHapticPlayerImpl_052
1065 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnError()
1066 */
1067 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_052, TestSize.Level1)
1068 {
1069 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1070 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1071 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1072 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1073
1074 int32_t errorCode = 0;
1075 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1076
1077 audioHapticSoundCallbackImpl->OnError(errorCode);
1078 }
1079
1080 /**
1081 * @tc.name : Test AudioHapticSoundCallbackImpl API
1082 * @tc.number: AudioHapticPlayerImpl_053
1083 * @tc.desc : Test AudioHapticSoundCallbackImpl::interruptEvent()
1084 */
1085 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_053, TestSize.Level1)
1086 {
1087 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1088 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1089 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1090 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1091
1092 AudioStandard::InterruptEvent interruptEvent;
1093 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1094 EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1095
1096 audioHapticSoundCallbackImpl->OnInterrupt(interruptEvent);
1097 }
1098
1099 /**
1100 * @tc.name : Test AudioHapticSoundCallbackImpl API
1101 * @tc.number: AudioHapticPlayerImpl_054
1102 * @tc.desc : Test AudioHapticSoundCallbackImpl::interruptEvent()
1103 */
1104 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_054, TestSize.Level1)
1105 {
1106 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1107 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1108 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1109 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1110
1111 AudioStandard::InterruptEvent interruptEvent;
1112 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1113
1114 audioHapticSoundCallbackImpl->OnInterrupt(interruptEvent);
1115 }
1116
1117 /**
1118 * @tc.name : Test AudioHapticSoundCallbackImpl API
1119 * @tc.number: AudioHapticPlayerImpl_055
1120 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnFirstFrameWriting()
1121 */
1122 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_055, TestSize.Level1)
1123 {
1124 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1125 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1126 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1127 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1128
1129 uint64_t latency = 0;
1130 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1131 EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1132
1133 audioHapticSoundCallbackImpl->OnFirstFrameWriting(latency);
1134 }
1135
1136 /**
1137 * @tc.name : Test AudioHapticSoundCallbackImpl API
1138 * @tc.number: AudioHapticPlayerImpl_056
1139 * @tc.desc : Test AudioHapticSoundCallbackImpl::OnFirstFrameWriting()
1140 */
1141 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_056, TestSize.Level1)
1142 {
1143 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1144 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1145 auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1146 EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1147
1148 uint64_t latency = 0;
1149 audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1150
1151 audioHapticSoundCallbackImpl->OnFirstFrameWriting(latency);
1152 }
1153
1154 /**
1155 * @tc.name : Test EnableHapticsInSilentMode API
1156 * @tc.number: AudioHapticPlayerImpl_057
1157 * @tc.desc : Test AudioHapticPlayerImpl::EnableHapticsInSilentMode()
1158 */
1159 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_057, TestSize.Level1)
1160 {
1161 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1162 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1163
1164 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->EnableHapticsInSilentMode(true));
1165
1166 AudioHapticPlayerImpl audioHapticPlayerImpl2;
1167 auto audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
1168 audioHapticPlayerImpl->audioHapticVibrator_ = audioHapticVibrator_;
1169 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
1170
1171 audioHapticPlayerImpl->EnableHapticsInSilentMode(true);
1172 EXPECT_EQ(true, audioHapticVibrator_->enableInSilentMode_);
1173
1174 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
1175 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->EnableHapticsInSilentMode(true));
1176
1177 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
1178 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->EnableHapticsInSilentMode(true));
1179 }
1180
1181 /**
1182 * @tc.name : Test IsHapticsIntensityAdjustmentSupported API
1183 * @tc.number: AudioHapticPlayerImpl_058
1184 * @tc.desc : Test AudioHapticPlayerImpl::IsHapticsIntensityAdjustmentSupported()
1185 */
1186 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_058, TestSize.Level1)
1187 {
1188 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1189 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1190
1191 EXPECT_EQ(false, audioHapticPlayerImpl->IsHapticsIntensityAdjustmentSupported());
1192
1193 AudioHapticPlayerImpl audioHapticPlayerImpl2;
1194 auto audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
1195 audioHapticPlayerImpl->audioHapticVibrator_ = audioHapticVibrator_;
1196 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
1197
1198 EXPECT_EQ(audioHapticPlayerImpl->IsHapticsIntensityAdjustmentSupported(),
1199 audioHapticVibrator_->IsHapticsCustomSupported());
1200 }
1201
1202 /**
1203 * @tc.name : Test SetHapticsRamp API
1204 * @tc.number: AudioHapticPlayerImpl_059
1205 * @tc.desc : Test AudioHapticPlayerImpl::SetHapticsRamp()
1206 */
1207 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_059, TestSize.Level1)
1208 {
1209 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1210 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1211
1212 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
1213 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsRamp(50, 1.0f, 50.0f));
1214
1215 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
1216 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsRamp(50, 1.0f, 50.0f));
1217
1218 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_PREPARED;
1219 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(50, 1.0f, 50.0f));
1220
1221 AudioHapticPlayerImpl audioHapticPlayerImpl2;
1222 auto audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
1223 audioHapticPlayerImpl->audioHapticVibrator_ = audioHapticVibrator_;
1224 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
1225
1226 // test duration less than 100ms
1227 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(50, 1.0f, 50.0f));
1228 // test startIntensity less than 1.0f
1229 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(1000, -1.0f, 50.0f));
1230 // test startIntensity larger than 100.0f
1231 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(1000, 101.0f, 50.0f));
1232 // test endIntensity less than 1.0f
1233 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(1000, 50.0f, -1.0f));
1234 // test endIntensity larger than 100.0f
1235 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(1000, 50.0f, 101.0f));
1236 // test all params ok
1237 EXPECT_EQ(NOT_SUPPORTED_CODE, audioHapticPlayerImpl->SetHapticsRamp(1000, 50.0f, 90.0f));
1238 }
1239
1240 /**
1241 * @tc.name : Test SetHapticsFeature API
1242 * @tc.number: AudioHapticPlayerImpl_060
1243 * @tc.desc : Test AudioHapticPlayerImpl::SetHapticsFeature()
1244 */
1245 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_060, TestSize.Level1)
1246 {
1247 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1248 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1249
1250 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
1251 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsFeature(HapticsFeature::GENTLE_HAPTICS));
1252
1253 audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_STOPPED;
1254 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsFeature(HapticsFeature::GENTLE_HAPTICS));
1255
1256 AudioHapticPlayerImpl audioHapticPlayerImpl2;
1257 auto audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
1258 audioHapticPlayerImpl->audioHapticVibrator_ = audioHapticVibrator_;
1259 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
1260
1261 audioHapticPlayerImpl->isGentle_.store(true);
1262 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsFeature(HapticsFeature::GENTLE_HAPTICS));
1263
1264 audioHapticPlayerImpl->isGentle_.store(false);
1265 EXPECT_EQ(ERR_OPERATE_NOT_ALLOWED, audioHapticPlayerImpl->SetHapticsFeature(HapticsFeature::GENTLE_HAPTICS));
1266 }
1267
1268 /**
1269 * @tc.name : Test AudioHapticPlayerImpl API
1270 * @tc.number: AudioHapticPlayerImpl_061
1271 * @tc.desc : Test AudioHapticPlayerImpl::Start()
1272 */
1273 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_061, TestSize.Level1)
1274 {
1275 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1276 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1277 EXPECT_EQ(audioHapticPlayerImpl->audioHapticSyncId_, MSERR_OK);
1278
1279 AudioHapticPlayerImpl audioHapticPlayerImpl2;
1280 audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
1281 EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
1282
1283 AudioSource audioSource;
1284 audioHapticPlayerImpl->audioHapticSound_ =
1285 std::make_shared<AudioHapticSoundNormalImpl>(audioSource, false, AudioStandard::STREAM_USAGE_UNKNOWN);
1286 EXPECT_NE(audioHapticPlayerImpl->audioHapticSound_, nullptr);
1287
1288 audioHapticPlayerImpl->vibrateThread_ = nullptr;
1289 audioHapticPlayerImpl->isSupportDSPSync_ = true;
1290 auto ret = audioHapticPlayerImpl->Start();
1291 EXPECT_NE(ret, MSERR_OK);
1292 EXPECT_NE(audioHapticPlayerImpl->audioHapticSyncId_, MSERR_OK);
1293 }
1294
1295 /**
1296 * @tc.name : Test AudioHapticPlayerImpl API
1297 * @tc.number: AudioHapticPlayerImpl_062
1298 * @tc.desc : Test AudioHapticPlayerImpl::GetDelayTime()
1299 */
1300 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_062, TestSize.Level1)
1301 {
1302 auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1303 EXPECT_NE(audioHapticPlayerImpl, nullptr);
1304
1305 audioHapticPlayerImpl->latencyMode_ = AUDIO_LATENCY_MODE_FAST;
1306 EXPECT_EQ(audioHapticPlayerImpl->GetDelayTime(0), 0);
1307
1308 audioHapticPlayerImpl->latencyMode_ = AUDIO_LATENCY_MODE_NORMAL;
1309 EXPECT_EQ(audioHapticPlayerImpl->GetDelayTime(0), 80);
1310 }
1311 } // namespace Media
1312 } // namespace OHOS