• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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     std::string audioUri = "123";
41     bool muteAudio = true;
42     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
43     auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, 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, audioUri, 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     std::string audioUri = "123";
63     bool muteAudio = true;
64     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
65     auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, 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, audioUri, 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     std::string audioUri = "123";
85     bool muteAudio = true;
86     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
87     auto audioHapticSound = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, 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, audioUri, 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     std::string audioUri = "123";
264     bool muteAudio = true;
265     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
266     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
267 
268     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
269 
270     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
271     audioHapticPlayerImpl->ReleaseSound();
272 }
273 
274 /**
275  * @tc.name  : Test AudioHapticPlayerImpl API
276  * @tc.number: AudioHapticPlayerImpl_014
277  * @tc.desc  : Test AudioHapticPlayerImpl::ReleaseSound()
278  */
279 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_014, TestSize.Level1)
280 {
281     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
282 
283     EXPECT_NE(audioHapticPlayerImpl, nullptr);
284 
285     audioHapticPlayerImpl->audioHapticSound_ = nullptr;
286     audioHapticPlayerImpl->ReleaseSound();
287 }
288 
289 /**
290  * @tc.name  : Test AudioHapticPlayerImpl API
291  * @tc.number: AudioHapticPlayerImpl_015
292  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
293  */
294 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_015, TestSize.Level1)
295 {
296     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
297 
298     EXPECT_NE(audioHapticPlayerImpl, nullptr);
299 
300     float volume = NUM_1;
301     auto ret = audioHapticPlayerImpl->SetVolume(volume);
302     EXPECT_EQ(ret, MSERR_INVALID_VAL);
303 }
304 
305 /**
306  * @tc.name  : Test AudioHapticPlayerImpl API
307  * @tc.number: AudioHapticPlayerImpl_016
308  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
309  */
310 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_016, TestSize.Level1)
311 {
312     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
313 
314     EXPECT_NE(audioHapticPlayerImpl, nullptr);
315 
316     float volume = NUM_2;
317     auto ret = audioHapticPlayerImpl->SetVolume(volume);
318     EXPECT_EQ(ret, MSERR_INVALID_VAL);
319 }
320 
321 /**
322  * @tc.name  : Test AudioHapticPlayerImpl API
323  * @tc.number: AudioHapticPlayerImpl_017
324  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
325  */
326 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_017, TestSize.Level1)
327 {
328     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
329 
330     EXPECT_NE(audioHapticPlayerImpl, nullptr);
331 
332     float volume = NUM_3;
333     audioHapticPlayerImpl->audioHapticSound_ = nullptr;
334 
335     auto ret = audioHapticPlayerImpl->SetVolume(volume);
336     EXPECT_EQ(ret, MSERR_OK);
337 }
338 
339 /**
340  * @tc.name  : Test AudioHapticPlayerImpl API
341  * @tc.number: AudioHapticPlayerImpl_018
342  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
343  */
344 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_018, TestSize.Level1)
345 {
346     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
347 
348     EXPECT_NE(audioHapticPlayerImpl, nullptr);
349 
350     float volume = 0.0f;
351 
352     std::string audioUri = "123";
353     bool muteAudio = true;
354     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
355     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
356 
357     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
358 
359     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
360 
361     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
362     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
363     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
364 
365     auto ret = audioHapticPlayerImpl->SetVolume(volume);
366     EXPECT_EQ(ret, MSERR_OK);
367 }
368 
369 /**
370  * @tc.name  : Test AudioHapticPlayerImpl API
371  * @tc.number: AudioHapticPlayerImpl_019
372  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
373  */
374 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_019, TestSize.Level1)
375 {
376     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
377 
378     EXPECT_NE(audioHapticPlayerImpl, nullptr);
379 
380     float volume = NUM_3;
381 
382     std::string audioUri = "123";
383     bool muteAudio = true;
384     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
385     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
386 
387     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
388 
389     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
390 
391     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
392     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
393     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RUNNING;
394 
395     auto ret = audioHapticPlayerImpl->SetVolume(volume);
396     EXPECT_EQ(ret, MSERR_OK);
397 }
398 
399 /**
400  * @tc.name  : Test AudioHapticPlayerImpl API
401  * @tc.number: AudioHapticPlayerImpl_020
402  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
403  */
404 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_020, TestSize.Level1)
405 {
406     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
407 
408     EXPECT_NE(audioHapticPlayerImpl, nullptr);
409 
410     float volume = NUM_3;
411 
412     std::string audioUri = "123";
413     bool muteAudio = true;
414     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
415     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
416 
417     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
418 
419     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
420 
421     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
422     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_VOICE_RINGTONE;
423     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
424 
425     auto ret = audioHapticPlayerImpl->SetVolume(volume);
426     EXPECT_EQ(ret, MSERR_OK);
427 }
428 
429 /**
430  * @tc.name  : Test AudioHapticPlayerImpl API
431  * @tc.number: AudioHapticPlayerImpl_021
432  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
433  */
434 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_021, TestSize.Level1)
435 {
436     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
437 
438     EXPECT_NE(audioHapticPlayerImpl, nullptr);
439 
440     float volume = NUM_3;
441 
442     std::string audioUri = "123";
443     bool muteAudio = true;
444     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
445     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
446 
447     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
448 
449     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
450 
451     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
452     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_RINGTONE;
453     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
454 
455     auto ret = audioHapticPlayerImpl->SetVolume(volume);
456     EXPECT_EQ(ret, MSERR_OK);
457 }
458 
459 /**
460  * @tc.name  : Test AudioHapticPlayerImpl API
461  * @tc.number: AudioHapticPlayerImpl_022
462  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
463  */
464 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_022, TestSize.Level1)
465 {
466     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
467 
468     EXPECT_NE(audioHapticPlayerImpl, nullptr);
469 
470     float volume = NUM_3;
471 
472     std::string audioUri = "123";
473     bool muteAudio = true;
474     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
475     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
476 
477     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
478 
479     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
480 
481     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_NORMAL;
482     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
483     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
484 
485     auto ret = audioHapticPlayerImpl->SetVolume(volume);
486     EXPECT_EQ(ret, MSERR_OK);
487 }
488 
489 /**
490  * @tc.name  : Test AudioHapticPlayerImpl API
491  * @tc.number: AudioHapticPlayerImpl_023
492  * @tc.desc  : Test AudioHapticPlayerImpl::SetVolume()
493  */
494 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_023, TestSize.Level1)
495 {
496     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
497 
498     EXPECT_NE(audioHapticPlayerImpl, nullptr);
499 
500     float volume = NUM_3;
501 
502     std::string audioUri = "123";
503     bool muteAudio = true;
504     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
505     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
506 
507     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
508 
509     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
510 
511     audioHapticPlayerImpl->latencyMode_ = AudioLatencyMode::AUDIO_LATENCY_MODE_FAST;
512     audioHapticPlayerImpl->streamUsage_ = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
513     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
514 
515     auto ret = audioHapticPlayerImpl->SetVolume(volume);
516     EXPECT_EQ(ret, MSERR_OK);
517 }
518 
519 /**
520  * @tc.name  : Test AudioHapticPlayerImpl API
521  * @tc.number: AudioHapticPlayerImpl_024
522  * @tc.desc  : Test AudioHapticPlayerImpl::SetHapticIntensity()
523  */
524 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_024, TestSize.Level1)
525 {
526     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
527 
528     EXPECT_NE(audioHapticPlayerImpl, nullptr);
529 
530     float intensity = NUM_1;
531 
532     auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
533     EXPECT_EQ(ret, MSERR_INVALID_VAL);
534 }
535 
536 /**
537  * @tc.name  : Test AudioHapticPlayerImpl API
538  * @tc.number: AudioHapticPlayerImpl_025
539  * @tc.desc  : Test AudioHapticPlayerImpl::SetHapticIntensity()
540  */
541 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_025, TestSize.Level1)
542 {
543     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
544 
545     EXPECT_NE(audioHapticPlayerImpl, nullptr);
546 
547     float intensity = NUM_2;
548 
549     AudioHapticPlayerImpl audioHapticPlayerImpl2;
550     audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
551     EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
552 
553     auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
554     EXPECT_EQ(ret, MSERR_OK);
555 }
556 
557 /**
558  * @tc.name  : Test AudioHapticPlayerImpl API
559  * @tc.number: AudioHapticPlayerImpl_026
560  * @tc.desc  : Test AudioHapticPlayerImpl::SetHapticIntensity()
561  */
562 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_026, TestSize.Level1)
563 {
564     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
565 
566     EXPECT_NE(audioHapticPlayerImpl, nullptr);
567 
568     float intensity = NUM_4;
569 
570     auto ret = audioHapticPlayerImpl->SetHapticIntensity(intensity);
571     EXPECT_EQ(ret, MSERR_INVALID_VAL);
572 }
573 
574 /**
575  * @tc.name  : Test AudioHapticPlayerImpl API
576  * @tc.number: AudioHapticPlayerImpl_027
577  * @tc.desc  : Test AudioHapticPlayerImpl::SetLoop()
578  */
579 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_027, TestSize.Level1)
580 {
581     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
582 
583     EXPECT_NE(audioHapticPlayerImpl, nullptr);
584 
585     bool loop = true;
586 
587     std::string audioUri = "123";
588     bool muteAudio = true;
589     AudioStandard::StreamUsage streamUsage = AudioStandard::StreamUsage::STREAM_USAGE_UNKNOWN;
590     auto audioHapticSoundNormalImpl = std::make_shared<AudioHapticSoundNormalImpl>(audioUri, muteAudio, streamUsage);
591 
592     EXPECT_NE(audioHapticSoundNormalImpl, nullptr);
593 
594     audioHapticPlayerImpl->audioHapticSound_ = audioHapticSoundNormalImpl;
595 
596     auto ret = audioHapticPlayerImpl->SetLoop(loop);
597     EXPECT_EQ(ret, MSERR_OK);
598 }
599 
600 /**
601  * @tc.name  : Test AudioHapticPlayerImpl API
602  * @tc.number: AudioHapticPlayerImpl_028
603  * @tc.desc  : Test AudioHapticPlayerImpl::SetLoop()
604  */
605 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_028, TestSize.Level1)
606 {
607     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
608 
609     EXPECT_NE(audioHapticPlayerImpl, nullptr);
610 
611     bool loop = true;
612 
613     audioHapticPlayerImpl->audioHapticSound_ = nullptr;
614 
615     auto ret = audioHapticPlayerImpl->SetLoop(loop);
616     EXPECT_EQ(ret, MSERR_OK);
617 }
618 
619 /**
620  * @tc.name  : Test AudioHapticPlayerImpl API
621  * @tc.number: AudioHapticPlayerImpl_029
622  * @tc.desc  : Test AudioHapticPlayerImpl::SetAudioHapticPlayerCallback()
623  */
624 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_029, TestSize.Level1)
625 {
626     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
627 
628     EXPECT_NE(audioHapticPlayerImpl, nullptr);
629 
630     std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
631     EXPECT_NE(playerCallback, nullptr);
632 
633     auto ret = audioHapticPlayerImpl->SetAudioHapticPlayerCallback(playerCallback);
634     EXPECT_EQ(ret, MSERR_OK);
635 }
636 
637 /**
638  * @tc.name  : Test AudioHapticPlayerImpl API
639  * @tc.number: AudioHapticPlayerImpl_030
640  * @tc.desc  : Test AudioHapticPlayerImpl::SetAudioHapticPlayerCallback()
641  */
642 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_030, TestSize.Level1)
643 {
644     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
645 
646     EXPECT_NE(audioHapticPlayerImpl, nullptr);
647 
648     std::shared_ptr<AudioHapticPlayerCallback> playerCallback = nullptr;
649 
650     auto ret = audioHapticPlayerImpl->SetAudioHapticPlayerCallback(playerCallback);
651     EXPECT_EQ(ret, MSERR_INVALID_VAL);
652 }
653 
654 /**
655  * @tc.name  : Test AudioHapticPlayerImpl API
656  * @tc.number: AudioHapticPlayerImpl_031
657  * @tc.desc  : Test AudioHapticPlayerImpl::StartVibrate()
658  */
659 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_031, TestSize.Level1)
660 {
661     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
662 
663     EXPECT_NE(audioHapticPlayerImpl, nullptr);
664 
665     audioHapticPlayerImpl->muteHaptic_ = true;
666 
667     auto ret = audioHapticPlayerImpl->StartVibrate();
668     EXPECT_EQ(ret, MSERR_OK);
669 }
670 
671 /**
672  * @tc.name  : Test AudioHapticPlayerImpl API
673  * @tc.number: AudioHapticPlayerImpl_032
674  * @tc.desc  : Test AudioHapticPlayerImpl::StartVibrate()
675  */
676 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_032, TestSize.Level1)
677 {
678     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
679 
680     EXPECT_NE(audioHapticPlayerImpl, nullptr);
681 
682     audioHapticPlayerImpl->muteHaptic_ = false;
683     audioHapticPlayerImpl->isVibrationStopped_ = true;
684     audioHapticPlayerImpl->loop_ = true;
685 
686     auto ret = audioHapticPlayerImpl->StartVibrate();
687     EXPECT_EQ(ret, MSERR_OK);
688 }
689 
690 /**
691  * @tc.name  : Test AudioHapticPlayerImpl API
692  * @tc.number: AudioHapticPlayerImpl_033
693  * @tc.desc  : Test AudioHapticPlayerImpl::StartVibrate()
694  */
695 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_033, TestSize.Level1)
696 {
697     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
698 
699     EXPECT_NE(audioHapticPlayerImpl, nullptr);
700 
701     audioHapticPlayerImpl->muteHaptic_ = false;
702     audioHapticPlayerImpl->isVibrationStopped_ = false;
703     audioHapticPlayerImpl->loop_ = true;
704 
705     auto ret = audioHapticPlayerImpl->StartVibrate();
706     EXPECT_EQ(ret, MSERR_INVALID_OPERATION);
707 }
708 
709 /**
710  * @tc.name  : Test AudioHapticPlayerImpl API
711  * @tc.number: AudioHapticPlayerImpl_034
712  * @tc.desc  : Test AudioHapticPlayerImpl::StartVibrate()
713  */
714 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_034, TestSize.Level1)
715 {
716     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
717 
718     EXPECT_NE(audioHapticPlayerImpl, nullptr);
719 
720     audioHapticPlayerImpl->muteHaptic_ = false;
721     audioHapticPlayerImpl->isVibrationStopped_ = false;
722     audioHapticPlayerImpl->loop_ = false;
723 
724     auto ret = audioHapticPlayerImpl->StartVibrate();
725     EXPECT_EQ(ret, MSERR_INVALID_OPERATION);
726 }
727 
728 /**
729  * @tc.name  : Test AudioHapticPlayerImpl API
730  * @tc.number: AudioHapticPlayerImpl_035
731  * @tc.desc  : Test AudioHapticPlayerImpl::StopVibrate()
732  */
733 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_035, TestSize.Level1)
734 {
735     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
736 
737     EXPECT_NE(audioHapticPlayerImpl, nullptr);
738 
739     AudioHapticPlayerImpl audioHapticPlayerImpl2;
740     audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
741     EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
742 
743     audioHapticPlayerImpl->vibrateThread_ = std::make_shared<std::thread>();
744     EXPECT_NE(audioHapticPlayerImpl->vibrateThread_, nullptr);
745 
746     audioHapticPlayerImpl->StopVibrate();
747 }
748 
749 /**
750  * @tc.name  : Test AudioHapticPlayerImpl API
751  * @tc.number: AudioHapticPlayerImpl_036
752  * @tc.desc  : Test AudioHapticPlayerImpl::StopVibrate()
753  */
754 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_036, TestSize.Level1)
755 {
756     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
757 
758     EXPECT_NE(audioHapticPlayerImpl, nullptr);
759 
760     audioHapticPlayerImpl->audioHapticVibrator_ = nullptr;
761     audioHapticPlayerImpl->vibrateThread_ = nullptr;
762 
763     audioHapticPlayerImpl->StopVibrate();
764 }
765 
766 /**
767  * @tc.name  : Test AudioHapticPlayerImpl API
768  * @tc.number: AudioHapticPlayerImpl_037
769  * @tc.desc  : Test AudioHapticPlayerImpl::ResetVibrateState()
770  */
771 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_037, TestSize.Level1)
772 {
773     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
774 
775     EXPECT_NE(audioHapticPlayerImpl, nullptr);
776 
777     AudioHapticPlayerImpl audioHapticPlayerImpl2;
778     audioHapticPlayerImpl->audioHapticVibrator_ = std::make_shared<AudioHapticVibratorImpl>(audioHapticPlayerImpl2);
779     EXPECT_NE(audioHapticPlayerImpl->audioHapticVibrator_, nullptr);
780 
781     audioHapticPlayerImpl->ResetVibrateState();
782 }
783 
784 /**
785  * @tc.name  : Test AudioHapticPlayerImpl API
786  * @tc.number: AudioHapticPlayerImpl_038
787  * @tc.desc  : Test AudioHapticPlayerImpl::ResetVibrateState()
788  */
789 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_038, TestSize.Level1)
790 {
791     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
792 
793     EXPECT_NE(audioHapticPlayerImpl, nullptr);
794 
795     audioHapticPlayerImpl->audioHapticVibrator_ = nullptr;
796 
797     audioHapticPlayerImpl->ResetVibrateState();
798 }
799 
800 /**
801  * @tc.name  : Test AudioHapticPlayerImpl API
802  * @tc.number: AudioHapticPlayerImpl_039
803  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyInterruptEvent()
804  */
805 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_039, TestSize.Level1)
806 {
807     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
808 
809     EXPECT_NE(audioHapticPlayerImpl, nullptr);
810 
811     AudioStandard::InterruptEvent interruptEvent;
812     std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
813     audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
814     EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
815 
816     audioHapticPlayerImpl->NotifyInterruptEvent(interruptEvent);
817 }
818 
819 /**
820  * @tc.name  : Test AudioHapticPlayerImpl API
821  * @tc.number: AudioHapticPlayerImpl_040
822  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyInterruptEvent()
823  */
824 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_040, TestSize.Level1)
825 {
826     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
827 
828     EXPECT_NE(audioHapticPlayerImpl, nullptr);
829 
830     AudioStandard::InterruptEvent interruptEvent;
831     audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
832 
833     audioHapticPlayerImpl->NotifyInterruptEvent(interruptEvent);
834 }
835 
836 /**
837  * @tc.name  : Test AudioHapticPlayerImpl API
838  * @tc.number: AudioHapticPlayerImpl_041
839  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyEndOfStreamEvent()
840  */
841 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_041, TestSize.Level1)
842 {
843     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
844 
845     EXPECT_NE(audioHapticPlayerImpl, nullptr);
846 
847     std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
848     audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
849     EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
850 
851     audioHapticPlayerImpl->NotifyEndOfStreamEvent();
852 }
853 
854 /**
855  * @tc.name  : Test AudioHapticPlayerImpl API
856  * @tc.number: AudioHapticPlayerImpl_042
857  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyEndOfStreamEvent()
858  */
859 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_042, TestSize.Level1)
860 {
861     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
862 
863     EXPECT_NE(audioHapticPlayerImpl, nullptr);
864 
865     audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
866 
867     audioHapticPlayerImpl->NotifyEndOfStreamEvent();
868 }
869 
870 /**
871  * @tc.name  : Test AudioHapticPlayerImpl API
872  * @tc.number: AudioHapticPlayerImpl_043
873  * @tc.desc  : Test AudioHapticPlayerImpl::HandleEndOfStreamEventThreadFunc()
874  */
875 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_043, TestSize.Level1)
876 {
877     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
878 
879     EXPECT_NE(audioHapticPlayerImpl, nullptr);
880 
881     std::weak_ptr<AudioHapticPlayerImpl> player = audioHapticPlayerImpl;
882     EXPECT_NE(player.lock(), nullptr);
883 
884     audioHapticPlayerImpl->HandleEndOfStreamEventThreadFunc(player);
885 }
886 
887 /**
888  * @tc.name  : Test AudioHapticPlayerImpl API
889  * @tc.number: AudioHapticPlayerImpl_044
890  * @tc.desc  : Test AudioHapticPlayerImpl::HandleEndOfStreamEventThreadFunc()
891  */
892 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_044, TestSize.Level1)
893 {
894     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
895 
896     EXPECT_NE(audioHapticPlayerImpl, nullptr);
897 
898     std::weak_ptr<AudioHapticPlayerImpl> player;
899 
900     audioHapticPlayerImpl->HandleEndOfStreamEventThreadFunc(player);
901 }
902 
903 /**
904  * @tc.name  : Test AudioHapticPlayerImpl API
905  * @tc.number: AudioHapticPlayerImpl_045
906  * @tc.desc  : Test AudioHapticPlayerImpl::HandleEndOfStreamEvent()
907  */
908 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_045, TestSize.Level1)
909 {
910     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
911 
912     EXPECT_NE(audioHapticPlayerImpl, nullptr);
913 
914     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_RELEASED;
915 
916     audioHapticPlayerImpl->HandleEndOfStreamEvent();
917 }
918 
919 /**
920  * @tc.name  : Test AudioHapticPlayerImpl API
921  * @tc.number: AudioHapticPlayerImpl_046
922  * @tc.desc  : Test AudioHapticPlayerImpl::HandleEndOfStreamEvent()
923  */
924 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_046, TestSize.Level1)
925 {
926     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
927 
928     EXPECT_NE(audioHapticPlayerImpl, nullptr);
929 
930     audioHapticPlayerImpl->playerState_ = AudioHapticPlayerState::STATE_NEW;
931 
932     audioHapticPlayerImpl->HandleEndOfStreamEvent();
933 }
934 
935 /**
936  * @tc.name  : Test AudioHapticPlayerImpl API
937  * @tc.number: AudioHapticPlayerImpl_047
938  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyErrorEvent()
939  */
940 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_047, TestSize.Level1)
941 {
942     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
943 
944     EXPECT_NE(audioHapticPlayerImpl, nullptr);
945 
946     int32_t errCode = 0;
947     std::shared_ptr<AudioHapticPlayerCallback> playerCallback = std::make_shared<AudioHapticPlayerCallbackTest>();
948     audioHapticPlayerImpl->audioHapticPlayerCallback_ = playerCallback;
949     EXPECT_NE(audioHapticPlayerImpl->audioHapticPlayerCallback_.lock(), nullptr);
950 
951     audioHapticPlayerImpl->NotifyErrorEvent(errCode);
952 }
953 
954 /**
955  * @tc.name  : Test AudioHapticPlayerImpl API
956  * @tc.number: AudioHapticPlayerImpl_048
957  * @tc.desc  : Test AudioHapticPlayerImpl::NotifyErrorEvent()
958  */
959 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_048, TestSize.Level1)
960 {
961     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
962 
963     EXPECT_NE(audioHapticPlayerImpl, nullptr);
964 
965     int32_t errCode = 0;
966     audioHapticPlayerImpl->audioHapticPlayerCallback_.reset();
967 
968     audioHapticPlayerImpl->NotifyErrorEvent(errCode);
969 }
970 
971 /**
972  * @tc.name  : Test AudioHapticSoundCallbackImpl API
973  * @tc.number: AudioHapticPlayerImpl_049
974  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnEndOfStream()
975  */
976 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_049, TestSize.Level1)
977 {
978     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
979     EXPECT_NE(audioHapticPlayerImpl, nullptr);
980     auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
981     EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
982 
983     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
984     EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
985 
986     audioHapticSoundCallbackImpl->OnEndOfStream();
987 }
988 
989 /**
990  * @tc.name  : Test AudioHapticSoundCallbackImpl API
991  * @tc.number: AudioHapticPlayerImpl_050
992  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnEndOfStream()
993  */
994 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_050, TestSize.Level1)
995 {
996     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
997     EXPECT_NE(audioHapticPlayerImpl, nullptr);
998     auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
999     EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1000 
1001     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1002 
1003     audioHapticSoundCallbackImpl->OnEndOfStream();
1004 }
1005 
1006 /**
1007  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1008  * @tc.number: AudioHapticPlayerImpl_051
1009  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnError()
1010  */
1011 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_051, TestSize.Level1)
1012 {
1013     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1014     EXPECT_NE(audioHapticPlayerImpl, nullptr);
1015     auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1016     EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1017 
1018     int32_t errorCode = 0;
1019     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1020     EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1021 
1022     audioHapticSoundCallbackImpl->OnError(errorCode);
1023 }
1024 
1025 /**
1026  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1027  * @tc.number: AudioHapticPlayerImpl_052
1028  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnError()
1029  */
1030 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_052, TestSize.Level1)
1031 {
1032     auto audioHapticPlayerImpl = std::make_shared<AudioHapticPlayerImpl>();
1033     EXPECT_NE(audioHapticPlayerImpl, nullptr);
1034     auto audioHapticSoundCallbackImpl = std::make_shared<AudioHapticSoundCallbackImpl>(audioHapticPlayerImpl);
1035     EXPECT_NE(audioHapticSoundCallbackImpl, nullptr);
1036 
1037     int32_t errorCode = 0;
1038     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1039 
1040     audioHapticSoundCallbackImpl->OnError(errorCode);
1041 }
1042 
1043 /**
1044  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1045  * @tc.number: AudioHapticPlayerImpl_053
1046  * @tc.desc  : Test AudioHapticSoundCallbackImpl::interruptEvent()
1047  */
1048 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_053, 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     AudioStandard::InterruptEvent interruptEvent;
1056     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1057     EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1058 
1059     audioHapticSoundCallbackImpl->OnInterrupt(interruptEvent);
1060 }
1061 
1062 /**
1063  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1064  * @tc.number: AudioHapticPlayerImpl_054
1065  * @tc.desc  : Test AudioHapticSoundCallbackImpl::interruptEvent()
1066  */
1067 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_054, 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     AudioStandard::InterruptEvent interruptEvent;
1075     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1076 
1077     audioHapticSoundCallbackImpl->OnInterrupt(interruptEvent);
1078 }
1079 
1080 /**
1081  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1082  * @tc.number: AudioHapticPlayerImpl_055
1083  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnFirstFrameWriting()
1084  */
1085 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_055, 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     uint64_t latency = 0;
1093     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_ = audioHapticPlayerImpl;
1094     EXPECT_NE(audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.lock(), nullptr);
1095 
1096     audioHapticSoundCallbackImpl->OnFirstFrameWriting(latency);
1097 }
1098 
1099 /**
1100  * @tc.name  : Test AudioHapticSoundCallbackImpl API
1101  * @tc.number: AudioHapticPlayerImpl_056
1102  * @tc.desc  : Test AudioHapticSoundCallbackImpl::OnFirstFrameWriting()
1103  */
1104 HWTEST_F(AudioHapticPlayerImplUnitTest, AudioHapticPlayerImpl_056, 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     uint64_t latency = 0;
1112     audioHapticSoundCallbackImpl->audioHapticPlayerImpl_.reset();
1113 
1114     audioHapticSoundCallbackImpl->OnFirstFrameWriting(latency);
1115 }
1116 } // namespace Media
1117 } // namespace OHOS