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, Hardware
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "gtest/gtest.h"
17
18 #include "utils/camera3d.h"
19 #include "utils/matrix.h"
20 #include "utils/scalar.h"
21
22 using namespace testing;
23 using namespace testing::ext;
24
25 namespace OHOS {
26 namespace Rosen {
27 namespace Drawing {
28 class Camera3DTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp() override;
33 void TearDown() override;
34 };
35
SetUpTestCase()36 void Camera3DTest::SetUpTestCase() {}
TearDownTestCase()37 void Camera3DTest::TearDownTestCase() {}
SetUp()38 void Camera3DTest::SetUp() {}
TearDown()39 void Camera3DTest::TearDown() {}
40
41 /**
42 * @tc.name: Camera3DCreateAndDestroy001
43 * @tc.desc:
44 * @tc.type: FUNC
45 * @tc.require:AR000GGNV3
46 * @tc.author:
47 */
48 HWTEST_F(Camera3DTest, Camera3DCreateAndDestroy001, TestSize.Level1)
49 {
50 // The best way to create Camera3D.
51 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
52 ASSERT_TRUE(camera3d != nullptr);
53 }
54
55 /**
56 * @tc.name: Camera3DCreateAndDestroy002
57 * @tc.desc:
58 * @tc.type: FUNC
59 * @tc.require:AR000GGNV3
60 * @tc.author:
61 */
62 HWTEST_F(Camera3DTest, Camera3DCreateAndDestroy002, TestSize.Level1)
63 {
64 // The best way to create Camera3D.
65 Camera3D camera3d;
66 }
67
68 /**
69 * @tc.name: Camera3DTranslateTest001
70 * @tc.desc:
71 * @tc.type: FUNC
72 * @tc.require:AR000GGNV3
73 * @tc.author:
74 */
75 HWTEST_F(Camera3DTest, Camera3DTranslateTest001, TestSize.Level1)
76 {
77 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
78 ASSERT_TRUE(camera3d != nullptr);
79 camera3d->Translate(131.5f, 121.0f, 60.0f);
80 }
81
82 /**
83 * @tc.name: Camera3DTranslateTest002
84 * @tc.desc:
85 * @tc.type: FUNC
86 * @tc.require:AR000GGNV3
87 * @tc.author:
88 */
89 HWTEST_F(Camera3DTest, Camera3DTranslateTest002, TestSize.Level1)
90 {
91 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
92 ASSERT_TRUE(camera3d != nullptr);
93 camera3d->Translate(23.6f, 7.9f, 800.9f);
94 }
95
96 /**
97 * @tc.name: Camera3DRotateXDegreesTest001
98 * @tc.desc:
99 * @tc.type: FUNC
100 * @tc.require:AR000GGNV3
101 * @tc.author:
102 */
103 HWTEST_F(Camera3DTest, Camera3DRotateXDegreesTest001, TestSize.Level1)
104 {
105 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
106 ASSERT_TRUE(camera3d != nullptr);
107 camera3d->RotateXDegrees(800.6f);
108 }
109
110 /**
111 * @tc.name: Camera3DRotateXDegreesTest002
112 * @tc.desc:
113 * @tc.type: FUNC
114 * @tc.require:AR000GGNV3
115 * @tc.author:
116 */
117 HWTEST_F(Camera3DTest, Camera3DRotateXDegreesTest002, TestSize.Level1)
118 {
119 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
120 ASSERT_TRUE(camera3d != nullptr);
121 camera3d->RotateXDegrees(300.0f);
122 }
123
124 /**
125 * @tc.name: Camera3DRotateXDegreesTest003
126 * @tc.desc:
127 * @tc.type: FUNC
128 * @tc.require:AR000GGNV3
129 * @tc.author:
130 */
131 HWTEST_F(Camera3DTest, Camera3DRotateXDegreesTest003, TestSize.Level1)
132 {
133 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
134 ASSERT_TRUE(camera3d != nullptr);
135 camera3d->RotateXDegrees(300.29f);
136 }
137
138 /**
139 * @tc.name: Camera3DRotateYDegreesTest001
140 * @tc.desc:
141 * @tc.type: FUNC
142 * @tc.require:AR000GGNV3
143 * @tc.author:
144 */
145 HWTEST_F(Camera3DTest, Camera3DRotateYDegreesTest001, TestSize.Level1)
146 {
147 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
148 ASSERT_TRUE(camera3d != nullptr);
149 camera3d->RotateYDegrees(300.29f);
150 }
151
152 /**
153 * @tc.name: Camera3DRotateYDegreesTest002
154 * @tc.desc:
155 * @tc.type: FUNC
156 * @tc.require:AR000GGNV3
157 * @tc.author:
158 */
159 HWTEST_F(Camera3DTest, Camera3DRotateYDegreesTest002, TestSize.Level1)
160 {
161 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
162 ASSERT_TRUE(camera3d != nullptr);
163 camera3d->RotateYDegrees(300);
164 }
165
166 /**
167 * @tc.name: Camera3DRotateYDegreesTest003
168 * @tc.desc:
169 * @tc.type: FUNC
170 * @tc.require:AR000GGNV3
171 * @tc.author:
172 */
173 HWTEST_F(Camera3DTest, Camera3DRotateYDegreesTest003, TestSize.Level1)
174 {
175 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
176 ASSERT_TRUE(camera3d != nullptr);
177 camera3d->RotateYDegrees(300.29f);
178 }
179
180 /**
181 * @tc.name: Camera3DRotateZDegreesTest001
182 * @tc.desc:
183 * @tc.type: FUNC
184 * @tc.require:AR000GGNV3
185 * @tc.author:
186 */
187 HWTEST_F(Camera3DTest, Camera3DRotateZDegreesTest001, TestSize.Level1)
188 {
189 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
190 ASSERT_TRUE(camera3d != nullptr);
191 camera3d->RotateZDegrees(300.29f);
192 }
193
194 /**
195 * @tc.name: Camera3DRotateZDegreesTest002
196 * @tc.desc:
197 * @tc.type: FUNC
198 * @tc.require:AR000GGNV3
199 * @tc.author:
200 */
201 HWTEST_F(Camera3DTest, Camera3DRotateZDegreesTest002, TestSize.Level1)
202 {
203 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
204 ASSERT_TRUE(camera3d != nullptr);
205 camera3d->RotateZDegrees(300.0f);
206 }
207
208 /**
209 * @tc.name: Camera3DRotateZDegreesTest003
210 * @tc.desc:
211 * @tc.type: FUNC
212 * @tc.require:AR000GGNV3
213 * @tc.author:
214 */
215 HWTEST_F(Camera3DTest, Camera3DRotateZDegreesTest003, TestSize.Level1)
216 {
217 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
218 ASSERT_TRUE(camera3d != nullptr);
219 camera3d->RotateZDegrees(300.29f);
220 }
221
222 /**
223 * @tc.name: Camera3DSetAndGetCameraPosTest001
224 * @tc.desc:
225 * @tc.type: FUNC
226 * @tc.require:AR000GGNV3
227 * @tc.author:
228 */
229 HWTEST_F(Camera3DTest, Camera3DSetAndGetCameraPosTest001, TestSize.Level1)
230 {
231 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
232 ASSERT_TRUE(camera3d != nullptr);
233 camera3d->SetCameraPos(8.2f, 9.1f, 8.2f);
234 EXPECT_EQ(8.2f, camera3d->GetCameraPosX());
235 EXPECT_EQ(9.1f, camera3d->GetCameraPosY());
236 EXPECT_EQ(8.2f, camera3d->GetCameraPosZ());
237 camera3d->Save();
238 camera3d->Restore();
239 }
240
241 /**
242 * @tc.name: Camera3DSetAndGetCameraPosTest002
243 * @tc.desc:
244 * @tc.type: FUNC
245 * @tc.require:AR000GGNV3
246 * @tc.author:
247 */
248 HWTEST_F(Camera3DTest, Camera3DSetAndGetCameraPosTest002, TestSize.Level1)
249 {
250 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
251 ASSERT_TRUE(camera3d != nullptr);
252 camera3d->SetCameraPos(8.0f, 8.1f, 8.2f);
253 EXPECT_EQ(8.0f, camera3d->GetCameraPosX());
254 EXPECT_EQ(8.1f, camera3d->GetCameraPosY());
255 EXPECT_EQ(8.2f, camera3d->GetCameraPosZ());
256 camera3d->Save();
257 camera3d->Restore();
258 }
259
260 /**
261 * @tc.name: Camera3DApplyToMatrixTest001
262 * @tc.desc:
263 * @tc.type: FUNC
264 * @tc.require:AR000GGNV3
265 * @tc.author:
266 */
267 HWTEST_F(Camera3DTest, Camera3DApplyToMatrixTest001, TestSize.Level1)
268 {
269 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
270 ASSERT_TRUE(camera3d != nullptr);
271 Matrix matrix;
272 camera3d->ApplyToMatrix(matrix);
273 }
274
275 /**
276 * @tc.name: Camera3DApplyToMatrixTest002
277 * @tc.desc:
278 * @tc.type: FUNC
279 * @tc.require:AR000GGNV3
280 * @tc.author:
281 */
282 HWTEST_F(Camera3DTest, Camera3DApplyToMatrixTest002, TestSize.Level1)
283 {
284 std::unique_ptr<Camera3D> camera3d = std::make_unique<Camera3D>();
285 ASSERT_TRUE(camera3d != nullptr);
286 Matrix matrix2;
287 camera3d->ApplyToMatrix(matrix2);
288 }
289 } // namespace Drawing
290 } // namespace Rosen
291 } // namespace OHOS