• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 /**
17  * @addtogroup Audio
18  * @{
19  *
20  * @brief Test audio-related APIs,functions for release audiomanager,
21  *
22  * @since 1.0
23  * @version 1.0
24  */
25 
26 /**
27  * @file audio_hdi_common.h
28  *
29  * @brief Declares APIs for operations related to the audio manager.
30  *
31  * @since 1.0
32  * @version 1.0
33  */
34 
35 #include "audio_hdi_common.h"
36 #include "audio_hdimanager_test.h"
37 
38 using namespace std;
39 using namespace testing::ext;
40 using namespace OHOS::Audio;
41 
42 namespace {
43 class AudioHdiManagerTest : public testing::Test {
44 public:
45     static void SetUpTestCase(void);
46     static void TearDownTestCase(void);
47     void SetUp();
48     void TearDown();
49     TestAudioManager *manager = nullptr;
50 };
51 
SetUpTestCase(void)52 void AudioHdiManagerTest::SetUpTestCase(void) {}
TearDownTestCase(void)53 void AudioHdiManagerTest::TearDownTestCase(void) {}
SetUp(void)54 void AudioHdiManagerTest::SetUp(void)
55 {
56     manager = GetAudioManagerFuncs();
57     ASSERT_NE(nullptr, manager);
58 }
59 
TearDown(void)60 void AudioHdiManagerTest::TearDown(void) {}
61 
62 /**
63 * @tc.name  AudioReleaseAudioManagerObject_001
64 * @tc.desc  test ReleaseAudioManagerObject interface,Returns true if audiomanager is relaaseed successfully
65 * @tc.type: FUNC
66 */
67 HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_001, TestSize.Level1)
68 {
69     bool ret;
70     ASSERT_NE(nullptr, manager);
71 
72     ret = manager->ReleaseAudioManagerObject(manager);
73     EXPECT_TRUE(ret);
74     ASSERT_EQ(nullptr, manager->GetAllAdapters);
75     ASSERT_EQ(nullptr, manager->LoadAdapter);
76     ASSERT_EQ(nullptr, manager->UnloadAdapter);
77 }
78 /**
79 * @tc.name  AudioReleaseAudioManagerObject_002
80 * @tc.desc  test ReleaseAudioManagerObject interface,Returns false if setting the incoming
81             parameter manager is nullptr
82 * @tc.type: FUNC
83 */
84 
85 HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_002, TestSize.Level1)
86 {
87     bool ret;
88     ASSERT_NE(nullptr, manager);
89     TestAudioManager *managerNull = nullptr;
90 
91     ret = manager->ReleaseAudioManagerObject(managerNull);
92     EXPECT_FALSE(ret);
93 
94     ret = manager->ReleaseAudioManagerObject(manager);
95     EXPECT_TRUE(ret);
96 }
97 /**
98 * @tc.name  AudioReleaseAudioManagerObject_003
99 * @tc.desc  test ReleaseAudioManagerObject interface,Returns false if setting the incoming
100             parameter manager is illlegal
101 * @tc.type: FUNC
102 */
103 HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_003, TestSize.Level1)
104 {
105     bool ret;
106     ASSERT_NE(nullptr, manager);
107     TestAudioManager errorManager = {};
108 
109     ret = manager->ReleaseAudioManagerObject(&errorManager);
110     EXPECT_FALSE(ret);
111 
112     ret = manager->ReleaseAudioManagerObject(manager);
113     EXPECT_TRUE(ret);
114 }
115 /**
116 * @tc.name  AudioReleaseAudioManagerObject_004
117 * @tc.desc  test ReleaseAudioManagerObject interface,audiomanager can be getted after Releasing
118 * @tc.type: FUNC
119 */
120 HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_004, TestSize.Level1)
121 {
122     bool ret;
123     ASSERT_NE(nullptr, manager);
124 
125     ret = manager->ReleaseAudioManagerObject(manager);
126     EXPECT_TRUE(ret);
127 
128     manager = GetAudioManagerFuncs();
129     ASSERT_NE(nullptr, manager);
130     ASSERT_NE(nullptr, manager->GetAllAdapters);
131     ASSERT_NE(nullptr, manager->LoadAdapter);
132     ASSERT_NE(nullptr, manager->UnloadAdapter);
133 
134     ret = manager->ReleaseAudioManagerObject(manager);
135     EXPECT_TRUE(ret);
136 }
137 }
138