2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali-test-suite-utils.h>
19 #include <dali/public-api/dali-core.h>
22 #include <cmath> // isfinite
28 void utc_dali_vector3_startup(void)
30 test_return_value = TET_UNDEF;
33 void utc_dali_vector3_cleanup(void)
35 test_return_value = TET_PASS;
38 int UtcDaliVector3Constructor01P(void)
40 TestApplication application;
42 DALI_TEST_EQUALS(va.x, 0.0f, 0.001f, TEST_LOCATION);
43 DALI_TEST_EQUALS(va.y, 0.0f, 0.001f, TEST_LOCATION);
44 DALI_TEST_EQUALS(va.z, 0.0f, 0.001f, TEST_LOCATION);
48 int UtcDaliVector3Constructor02P(void)
50 TestApplication application;
51 Vector3 va(1.f, 1.f, 1.f);
52 DALI_TEST_EQUALS(va.x, 1.0f, 0.001f, TEST_LOCATION);
53 DALI_TEST_EQUALS(va.y, 1.0f, 0.001f, TEST_LOCATION);
54 DALI_TEST_EQUALS(va.z, 1.0f, 0.001f, TEST_LOCATION);
58 int UtcDaliVector3Constructor03P(void)
60 TestApplication application;
61 float array[] = {1.f, 1.f, 1.f};
63 DALI_TEST_EQUALS(va.x, 1.0f, 0.001f, TEST_LOCATION);
64 DALI_TEST_EQUALS(va.y, 1.0f, 0.001f, TEST_LOCATION);
65 DALI_TEST_EQUALS(va.z, 1.0f, 0.001f, TEST_LOCATION);
69 int UtcDaliVector3Constructor04P(void)
71 TestApplication application;
72 Vector2 vec2(1.f, 1.f);
74 DALI_TEST_EQUALS(va.x, 1.0f, 0.001f, TEST_LOCATION);
75 DALI_TEST_EQUALS(va.y, 1.0f, 0.001f, TEST_LOCATION);
76 DALI_TEST_EQUALS(va.z, 0.0f, 0.001f, TEST_LOCATION);
80 int UtcDaliVector3Constructor05P(void)
82 TestApplication application;
83 Vector4 vec4(1.f, 1.f, 1.f, 1.f);
85 DALI_TEST_EQUALS(va.x, 1.0f, 0.001f, TEST_LOCATION);
86 DALI_TEST_EQUALS(va.y, 1.0f, 0.001f, TEST_LOCATION);
87 DALI_TEST_EQUALS(va.z, 1.0f, 0.001f, TEST_LOCATION);
91 int UtcDaliVector3CopyConstructor(void)
93 TestApplication application;
94 Vector3 vec0(10.f, 20.f, 30.0f);
96 DALI_TEST_EQUALS(vec1.x, 10.0f, 0.001, TEST_LOCATION);
97 DALI_TEST_EQUALS(vec1.y, 20.0f, 0.001, TEST_LOCATION);
98 DALI_TEST_EQUALS(vec1.z, 30.0f, 0.001, TEST_LOCATION);
102 int UtcDaliVector3MoveConstructor(void)
104 TestApplication application;
105 Vector3 vec0(10.f, 20.f, 30.0f);
106 Vector3 vec1 = std::move(vec0);
107 DALI_TEST_EQUALS(vec1.x, 10.0f, 0.001, TEST_LOCATION);
108 DALI_TEST_EQUALS(vec1.y, 20.0f, 0.001, TEST_LOCATION);
109 DALI_TEST_EQUALS(vec1.z, 30.0f, 0.001, TEST_LOCATION);
114 int UtcDaliVector3CopyAssignment(void)
116 TestApplication application;
117 Vector3 vec0(10.f, 20.f, 30.0f);
120 DALI_TEST_EQUALS(vec1.x, 10.0f, 0.001, TEST_LOCATION);
121 DALI_TEST_EQUALS(vec1.y, 20.0f, 0.001, TEST_LOCATION);
122 DALI_TEST_EQUALS(vec1.z, 30.0f, 0.001, TEST_LOCATION);
127 int UtcDaliVector3MoveAssignment(void)
129 TestApplication application;
130 Vector3 vec0(10.f, 20.f, 30.0f);
132 vec1 = std::move(vec0);
133 DALI_TEST_EQUALS(vec1.x, 10.0f, 0.001, TEST_LOCATION);
134 DALI_TEST_EQUALS(vec1.y, 20.0f, 0.001, TEST_LOCATION);
135 DALI_TEST_EQUALS(vec1.z, 30.0f, 0.001, TEST_LOCATION);
140 int UtcDaliVector3Assign01P(void)
142 TestApplication application;
144 const float array[] = {1.0f, 2.0f, 3.0f};
145 v0 = (const float*)array;
147 DALI_TEST_EQUALS(v0.x, 1.0f, 0.001f, TEST_LOCATION);
148 DALI_TEST_EQUALS(v0.y, 2.0f, 0.001f, TEST_LOCATION);
149 DALI_TEST_EQUALS(v0.z, 3.0f, 0.001f, TEST_LOCATION);
153 int UtcDaliVector3Assign02P(void)
155 TestApplication application;
156 Vector2 vec2_q(1.0f, 2.0f);
160 DALI_TEST_EQUALS(vec3a.x, 1.0f, 0.001f, TEST_LOCATION);
161 DALI_TEST_EQUALS(vec3a.y, 2.0f, 0.001f, TEST_LOCATION);
162 DALI_TEST_EQUALS(vec3a.z, 0.0f, 0.001f, TEST_LOCATION);
166 int UtcDaliVector3Assign03P(void)
168 TestApplication application;
169 Vector4 vec4_q(4.0f, 3.0f, 2.0f, 1.0f);
173 DALI_TEST_EQUALS(vec3b.x, 4.0f, 0.001f, TEST_LOCATION);
174 DALI_TEST_EQUALS(vec3b.y, 3.0f, 0.001f, TEST_LOCATION);
175 DALI_TEST_EQUALS(vec3b.z, 2.0f, 0.001f, TEST_LOCATION);
179 int UtcDaliVector3Add01P(void)
181 TestApplication application;
182 Vector3 v0(1.0f, 2.0f, 3.0f);
183 Vector3 v1(10.0f, 20.0f, 30.0f);
184 Vector3 r0(11.0f, 22.0f, 33.0f);
186 Vector3 v2 = v0 + v1;
187 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
192 int UtcDaliVector3Add02P(void)
194 TestApplication application;
195 Vector3 v0(1.0f, 2.0f, 3.0f);
196 Vector3 v1(10.0f, 20.0f, 30.0f);
197 Vector3 r0(11.0f, 22.0f, 33.0f);
200 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
205 int UtcDaliVector3Subtract01P(void)
207 TestApplication application;
208 Vector3 v0(11.0f, 22.0f, 33.0f);
209 Vector3 v1(10.0f, 20.0f, 30.0f);
210 Vector3 r0(1.0f, 2.0f, 3.0f);
212 Vector3 v2 = v0 - v1;
213 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
218 int UtcDaliVector3Subtract02P(void)
220 TestApplication application;
221 Vector3 v0(11.0f, 22.0f, 33.0f);
222 Vector3 v1(10.0f, 20.0f, 30.0f);
223 Vector3 r0(1.0f, 2.0f, 3.0f);
226 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
230 int UtcDaliVector3Multiply01P(void)
232 TestApplication application;
233 Vector3 v0(2.0f, 3.0f, 4.0f);
234 Vector3 v1(10.0f, 20.0f, 30.0f);
235 Vector3 r0(20.0f, 60.0f, 120.0f);
237 Vector3 v2 = v0 * v1;
238 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
242 int UtcDaliVector3Multiply02P(void)
244 TestApplication application;
245 Vector3 v0(2.0f, 3.0f, 4.0f);
246 Vector3 r0(20.0f, 30.0f, 40.0f);
247 Vector3 v2 = v0 * 10.f;
248 DALI_TEST_EQUALS(v2, r0, 0.001, TEST_LOCATION);
252 int UtcDaliVector3Multiply03P(void)
254 TestApplication application;
255 Vector3 v0(2.0f, 3.0f, 4.0f);
256 Vector3 v1(10.0f, 20.0f, 30.0f);
257 Vector3 r0(20.0f, 60.0f, 120.0f);
259 DALI_TEST_EQUALS(v0, r0, 0.001, TEST_LOCATION);
263 int UtcDaliVector3Multiply04P(void)
265 TestApplication application;
266 Vector3 v0(2.0f, 3.0f, 4.0f);
267 Vector3 r0(20.0f, 30.0f, 40.0f);
269 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
273 int UtcDaliVector3Multiply05P(void)
275 TestApplication application;
276 Vector3 vec3(Vector3::YAXIS);
277 Quaternion rotation(Radian(Math::PI_2), Vector3::ZAXIS);
278 Vector3 result(-Vector3::XAXIS);
280 DALI_TEST_EQUALS(vec3, result, 0.001, TEST_LOCATION);
284 int UtcDaliVector3Divide01P(void)
286 TestApplication application;
287 Vector3 v0(1.0f, 1.0f, 1.0f);
288 Vector3 v1(2.0f, 3.0f, 5.0f);
289 Vector3 v2(4.0f, 9.0f, 25.0f);
291 DALI_TEST_EQUALS(v0 / v0, v0, TEST_LOCATION);
292 DALI_TEST_EQUALS(v1 / v0, v1, TEST_LOCATION);
293 DALI_TEST_EQUALS(v1 / v1, v0, TEST_LOCATION);
294 DALI_TEST_EQUALS(v2 / v1, v1, TEST_LOCATION);
299 int UtcDaliVector3Divide02P(void)
301 TestApplication application;
302 Vector3 v0(3.0f, 6.0f, 9.0f);
303 Vector3 v1(1.0f, 2.0f, 3.0f);
304 Vector3 r(3.0f, 3.0f, 3.0f);
305 Vector3 v2 = v0 / v1;
306 DALI_TEST_EQUALS(v2, r, TEST_LOCATION);
310 int UtcDaliVector3Divide03P(void)
312 TestApplication application;
313 Vector3 v0(3.0f, 6.0f, 9.0f);
314 Vector3 v1(1.0f, 2.0f, 3.0f);
315 Vector3 v2 = v0 / 3.f;
316 DALI_TEST_EQUALS(v2, v1, TEST_LOCATION);
320 int UtcDaliVector3Divide04P(void)
322 TestApplication application;
323 Vector3 v0(3.0f, 6.0f, 9.0f);
324 Vector3 v1(1.0f, 1.0f, 1.0f);
327 DALI_TEST_EQUALS(v4, v1, TEST_LOCATION);
331 int UtcDaliVector3Divide05P(void)
333 TestApplication application;
334 Vector3 v0(3.0f, 6.0f, 9.0f);
335 Vector3 v1(1.0f, 2.0f, 3.0f);
338 DALI_TEST_EQUALS(v4, v1, TEST_LOCATION);
342 int UtcDaliVector3NegateP(void)
344 TestApplication application;
345 Vector3 v1(10.0f, 20.0f, 30.f);
346 Vector3 r0(-10.0f, -20.0f, -30.f);
349 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
353 int UtcDaliVector3EqualsP(void)
355 TestApplication application;
356 Vector3 v0(1.0f, 2.0f, 3.0f);
357 Vector3 v1(1.0f, 2.0f, 3.0f);
359 DALI_TEST_CHECK(v0 == v1);
363 int UtcDaliVector3NotEqualsP(void)
365 TestApplication application;
366 Vector3 v0(1.0f, 2.0f, 3.0f);
367 Vector3 v1(1.0f, 2.0f, 3.0f);
368 Vector3 v2 = Vector3(0.0f, 2.0f, 3.0f);
369 DALI_TEST_CHECK(v0 != v2);
371 v2 = Vector3(1.0f, 0.0f, 3.0f);
372 DALI_TEST_CHECK(v0 != v2);
374 v2 = Vector3(1.0f, 2.0f, 0.0f);
375 DALI_TEST_CHECK(v0 != v2);
377 v2 = Vector3(11.0f, 22.0f, 33.0f);
378 DALI_TEST_CHECK(v0 != v2);
382 int UtcDaliVector3OperatorSubscriptP(void)
384 TestApplication application;
385 Vector3 testVector(1.0f, 2.0f, 3.0f);
387 // read array subscripts
388 DALI_TEST_EQUALS(testVector[0], 1.0f, TEST_LOCATION);
389 DALI_TEST_EQUALS(testVector[1], 2.0f, TEST_LOCATION);
390 DALI_TEST_EQUALS(testVector[2], 3.0f, TEST_LOCATION);
392 // write array subscripts/read struct memebers
393 testVector[0] = 4.0f;
394 testVector[1] = 5.0f;
395 testVector[2] = 6.0f;
397 DALI_TEST_EQUALS(testVector.x, 4.0f, TEST_LOCATION);
398 DALI_TEST_EQUALS(testVector.y, 5.0f, TEST_LOCATION);
399 DALI_TEST_EQUALS(testVector.z, 6.0f, TEST_LOCATION);
401 // write struct members/read array subscripts
406 DALI_TEST_EQUALS(testVector[0], 7.0f, TEST_LOCATION);
407 DALI_TEST_EQUALS(testVector[1], 8.0f, TEST_LOCATION);
408 DALI_TEST_EQUALS(testVector[2], 9.0f, TEST_LOCATION);
412 int UtcDaliVector3ConstOperatorSubscriptP(void)
414 TestApplication application;
415 Vector3 testVector(1.0f, 2.0f, 3.0f);
417 // write struct members/read array subscripts
418 const Vector3 testVector2(1.0f, 2.0f, 3.0f);
419 const float& x = testVector2[0];
420 const float& y = testVector2[1];
421 const float& z(testVector2[2]);
423 DALI_TEST_EQUALS(x, 1.0f, TEST_LOCATION);
424 DALI_TEST_EQUALS(y, 2.0f, TEST_LOCATION);
425 DALI_TEST_EQUALS(z, 3.0f, TEST_LOCATION);
429 float& w = testVector[4];
430 (void)w; // Suppress unused variable warning
431 tet_result(TET_FAIL);
433 catch(Dali::DaliException& e)
435 DALI_TEST_PRINT_ASSERT(e);
436 DALI_TEST_ASSERT(e, "index < 3", TEST_LOCATION);
441 const float& w = testVector2[4];
442 (void)w; // Suppress unused variable warning
443 tet_result(TET_FAIL);
445 catch(Dali::DaliException& e)
447 DALI_TEST_PRINT_ASSERT(e);
448 DALI_TEST_ASSERT(e, "index < 3", TEST_LOCATION);
454 int UtcDaliVector3DotP(void)
456 TestApplication application;
457 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::YAXIS), 0.0f, TEST_LOCATION);
458 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::ZAXIS), 0.0f, TEST_LOCATION);
459 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::XAXIS), 1.0f, TEST_LOCATION);
460 DALI_TEST_EQUALS(Vector3::YAXIS.Dot(Vector3::YAXIS), 1.0f, TEST_LOCATION);
461 DALI_TEST_EQUALS(Vector3::ZAXIS.Dot(Vector3::ZAXIS), 1.0f, TEST_LOCATION);
463 DALI_TEST_EQUALS(Vector3(1.0f, 0.0f, 0.0f).Dot(Vector3(1.0f, 0.0f, 0.0f)), 1.0f, TEST_LOCATION);
465 for(float x = 0; x < 6.0f; x += 1.0f)
467 Vector3 v0(cosf(x), sinf(x), 0.0f);
468 Vector3 v1(sinf(x), -cosf(x), 0.0f);
469 DALI_TEST_EQUALS(v0.Dot(v1), 0.0f, 0.0001f, TEST_LOCATION);
470 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
472 v0 = Vector3(cosf(x), 0.0f, sinf(x));
473 v1 = Vector3(sinf(x), 0.0f, -cosf(x));
474 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
477 Vector3 v0 = Vector3(12.0f, 7.0f, 9.0f);
480 Vector3 v1 = v0 * 2.0f;
481 DALI_TEST_EQUALS(v0.Dot(v1), 2.0f, 0.001f, TEST_LOCATION);
485 int UtcDaliVector3CrossP(void)
487 TestApplication application;
488 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::YAXIS), Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
489 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::ZAXIS), Vector3::XAXIS, 0.0001f, TEST_LOCATION);
490 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::XAXIS), Vector3::YAXIS, 0.0001f, TEST_LOCATION);
492 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::ZAXIS), -Vector3::YAXIS, 0.0001f, TEST_LOCATION);
493 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::XAXIS), -Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
494 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::YAXIS), -Vector3::XAXIS, 0.0001f, TEST_LOCATION);
496 Vector3 v0(2.0f, 3.0f, 4.0f);
497 Vector3 v1(10.0f, 20.0f, 30.0f);
498 Vector3 result((v0.y * v1.z) - (v0.z * v1.y),
499 (v0.z * v1.x) - (v0.x * v1.z),
500 (v0.x * v1.y) - (v0.y * v1.x));
502 DALI_TEST_EQUALS(v0.Cross(v1), result, 0.001f, TEST_LOCATION);
506 int UtcDaliVector3LengthP(void)
508 TestApplication application;
509 Vector3 v(1.0f, 2.0f, 3.0f);
510 DALI_TEST_EQUALS(v.Length(), sqrtf(v.x * v.x + v.y * v.y + v.z * v.z), 0.001f, TEST_LOCATION);
512 Vector3 v1(0.0f, 0.0f, 0.0f);
513 DALI_TEST_EQUALS(v1.Length(), 0.0f, TEST_LOCATION);
517 int UtcDaliVector3LengthSquaredP(void)
519 TestApplication application;
520 Vector3 v(1.0f, 2.0f, 3.0f);
521 DALI_TEST_EQUALS(v.LengthSquared(), v.x * v.x + v.y * v.y + v.z * v.z, 0.001f, TEST_LOCATION);
523 Vector3 v1(0.0f, 0.0f, 0.0f);
524 DALI_TEST_EQUALS(v1.LengthSquared(), 0.0f, TEST_LOCATION);
528 int UtcDaliVector3NormalizeP(void)
530 TestApplication application;
531 for(float f = 0.0f; f < 6.0f; f += 1.0f)
533 Vector3 v(cosf(f) * 10.0f, cosf(f + 1.0f) * 10.0f, cosf(f + 2.0f) * 10.0f);
535 DALI_TEST_EQUALS(v.LengthSquared(), 1.0f, 0.001f, TEST_LOCATION);
538 Vector3 v(0.0f, 0.0f, 0.0f);
540 DALI_TEST_EQUALS(v.LengthSquared(), 0.0f, 0.00001f, TEST_LOCATION);
544 int UtcDaliVector3ClampVector3P(void)
546 TestApplication application;
548 Vector3 v0(2.0f, 0.8f, 0.0f);
549 Vector3 v1(-1.0f, 2.0f, 10.0f);
550 Vector3 v2(10.0f, 5.0f, 0.0f);
551 Vector3 v3(8.0f, 10.0f, 5.0f);
552 Vector3 v4(4.9f, 5.1f, 10.0f);
553 Vector3 min(1.0f, 4.0f, 1.5f);
554 Vector3 max(9.0f, 6.0f, 8.0f);
562 DALI_TEST_EQUALS(v0, Vector3(2.0f, 4.0f, 1.5f), 0.01f, TEST_LOCATION);
563 DALI_TEST_EQUALS(v1, Vector3(1.0f, 4.0f, 8.0f), 0.01f, TEST_LOCATION);
564 DALI_TEST_EQUALS(v2, Vector3(9.0f, 5.0f, 1.5f), 0.01f, TEST_LOCATION);
565 DALI_TEST_EQUALS(v3, Vector3(8.0f, 6.0f, 5.0f), 0.01f, TEST_LOCATION);
566 DALI_TEST_EQUALS(v4, Vector3(4.9f, 5.1f, 8.0f), 0.01f, TEST_LOCATION);
570 int UtcDaliVector3AsFloatP(void)
572 TestApplication application;
573 float values[] = {0.0f, 1.0f, 2.0f};
576 for(int i = 0; i < 3; ++i)
578 DALI_TEST_EQUALS(v0.AsFloat()[i], values[i], TEST_LOCATION);
584 int UtcDaliVector3ConstAsFloatP(void)
586 TestApplication application;
587 float values[] = {0.0f, 1.0f, 2.0f};
590 const Vector3 v1(values);
591 for(int i = 0; i < 3; ++i)
593 DALI_TEST_EQUALS(v1.AsFloat()[i], values[i], TEST_LOCATION);
598 int UtcDaliVector3ConstAsVectorXYP(void)
600 TestApplication application;
601 float values[] = {0.0f, 1.0f, 2.0f};
602 const Vector3 v0(values);
603 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
604 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
608 int UtcDaliVector3AsVectorXYP(void)
610 TestApplication application;
611 float values[] = {0.0f, 1.0f, 2.0f};
614 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
615 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
619 int UtcDaliVector3ConstAsVectorXZP(void)
621 TestApplication application;
622 float values[] = {0.0f, 1.0f, 2.0f};
623 const Vector3 v0(values);
625 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
626 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
630 int UtcDaliVector3AsVectorXZP(void)
632 TestApplication application;
633 float values[] = {0.0f, 1.0f, 2.0f};
636 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
637 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
641 int UtcDaliVector3OStreamOperatorP(void)
643 TestApplication application;
644 std::ostringstream oss;
646 Vector3 vector(1, 2, 3);
650 std::string expectedOutput = "[1, 2, 3]";
652 DALI_TEST_EQUALS(oss.str(), expectedOutput, TEST_LOCATION);
656 int UtcDaliVector3MinP(void)
658 TestApplication application;
659 Vector3 v0(2.0f, 2.0f, 1.0f);
660 Vector3 v1(1.0f, 1.0f, 2.0f);
662 DALI_TEST_EQUALS(Min(v0, v1), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION);
666 int UtcDaliVector3MaxP(void)
668 TestApplication application;
669 Vector3 v0(2.0f, 1.0f, 3.0f);
670 Vector3 v1(1.0f, 2.0f, 3.0f);
672 DALI_TEST_EQUALS(Max(v0, v1), Vector3(2.0f, 2.0f, 3.0f), 0.01f, TEST_LOCATION);
676 int UtcDaliVector3ClampP(void)
678 TestApplication application;
679 Vector3 v0(2.0f, 1.0f, 0.0f);
680 Vector3 v1(-1.0f, 2.0f, 1.0f);
682 DALI_TEST_EQUALS(Clamp(v0, 0.9f, 1.1f), Vector3(1.1f, 1.0f, 0.9f), 0.01f, TEST_LOCATION);
683 DALI_TEST_EQUALS(Clamp(v1, 1.0f, 1.0f), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION);
687 int UtcDaliVector3ConstantsP(void)
689 TestApplication application;
690 Vector3 va = Vector3::ZERO;
691 Vector3 vb = Vector3::ONE;
692 Vector3 vc = Vector3::XAXIS;
694 DALI_TEST_EQUALS(va.x, 0.0f, 0.001f, TEST_LOCATION);
695 DALI_TEST_EQUALS(va.y, 0.0f, 0.001f, TEST_LOCATION);
696 DALI_TEST_EQUALS(va.z, 0.0f, 0.001f, TEST_LOCATION);
698 DALI_TEST_EQUALS(vb.x, 1.0f, 0.001f, TEST_LOCATION);
699 DALI_TEST_EQUALS(vb.y, 1.0f, 0.001f, TEST_LOCATION);
700 DALI_TEST_EQUALS(vb.z, 1.0f, 0.001f, TEST_LOCATION);
702 DALI_TEST_EQUALS(vc.x, 1.0f, 0.001f, TEST_LOCATION);
703 DALI_TEST_EQUALS(vc.y, 0.0f, 0.001f, TEST_LOCATION);
704 DALI_TEST_EQUALS(vc.z, 0.0f, 0.001f, TEST_LOCATION);