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.
20 #include <cmath> // isfinite
23 #include <dali/public-api/dali-core.h>
24 #include <dali-test-suite-utils.h>
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);
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);
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);
343 int UtcDaliVector3NegateP(void)
345 TestApplication application;
346 Vector3 v1(10.0f, 20.0f, 30.f);
347 Vector3 r0(-10.0f, -20.0f, -30.f);
350 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
354 int UtcDaliVector3EqualsP(void)
356 TestApplication application;
357 Vector3 v0(1.0f, 2.0f, 3.0f);
358 Vector3 v1(1.0f, 2.0f, 3.0f);
360 DALI_TEST_CHECK(v0 == v1);
364 int UtcDaliVector3NotEqualsP(void)
366 TestApplication application;
367 Vector3 v0(1.0f, 2.0f, 3.0f);
368 Vector3 v1(1.0f, 2.0f, 3.0f);
369 Vector3 v2 = Vector3(0.0f, 2.0f, 3.0f);
370 DALI_TEST_CHECK(v0 != v2);
372 v2 = Vector3(1.0f, 0.0f, 3.0f);
373 DALI_TEST_CHECK(v0 != v2);
375 v2 = Vector3(1.0f, 2.0f, 0.0f);
376 DALI_TEST_CHECK(v0 != v2);
378 v2 = Vector3(11.0f, 22.0f, 33.0f);
379 DALI_TEST_CHECK(v0 != v2);
383 int UtcDaliVector3OperatorSubscriptP(void)
385 TestApplication application;
386 Vector3 testVector(1.0f, 2.0f, 3.0f);
388 // read array subscripts
389 DALI_TEST_EQUALS( testVector[0], 1.0f, TEST_LOCATION );
390 DALI_TEST_EQUALS( testVector[1], 2.0f, TEST_LOCATION );
391 DALI_TEST_EQUALS( testVector[2], 3.0f, TEST_LOCATION );
393 // write array subscripts/read struct memebers
394 testVector[0] = 4.0f;
395 testVector[1] = 5.0f;
396 testVector[2] = 6.0f;
398 DALI_TEST_EQUALS( testVector.x, 4.0f, TEST_LOCATION );
399 DALI_TEST_EQUALS( testVector.y, 5.0f, TEST_LOCATION );
400 DALI_TEST_EQUALS( testVector.z, 6.0f, TEST_LOCATION );
402 // write struct members/read array subscripts
407 DALI_TEST_EQUALS( testVector[0], 7.0f, TEST_LOCATION );
408 DALI_TEST_EQUALS( testVector[1], 8.0f, TEST_LOCATION );
409 DALI_TEST_EQUALS( testVector[2], 9.0f, TEST_LOCATION );
413 int UtcDaliVector3ConstOperatorSubscriptP(void)
415 TestApplication application;
416 Vector3 testVector(1.0f, 2.0f, 3.0f);
418 // write struct members/read array subscripts
419 const Vector3 testVector2(1.0f, 2.0f, 3.0f);
420 const float& x = testVector2[0];
421 const float& y = testVector2[1];
422 const float& z ( testVector2[2] );
424 DALI_TEST_EQUALS( x, 1.0f, TEST_LOCATION );
425 DALI_TEST_EQUALS( y, 2.0f, TEST_LOCATION );
426 DALI_TEST_EQUALS( z, 3.0f, TEST_LOCATION );
430 float& w = testVector[4];
431 (void)w; // Suppress unused variable warning
432 tet_result(TET_FAIL);
434 catch (Dali::DaliException& e)
436 DALI_TEST_PRINT_ASSERT( e );
437 DALI_TEST_ASSERT( e, "index < 3", TEST_LOCATION );
442 const float& w = testVector2[4];
443 (void)w; // Suppress unused variable warning
444 tet_result(TET_FAIL);
446 catch (Dali::DaliException& e)
448 DALI_TEST_PRINT_ASSERT( e );
449 DALI_TEST_ASSERT(e, "index < 3", TEST_LOCATION);
455 int UtcDaliVector3DotP(void)
457 TestApplication application;
458 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::YAXIS), 0.0f, TEST_LOCATION);
459 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::ZAXIS), 0.0f, TEST_LOCATION);
460 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::XAXIS), 1.0f, TEST_LOCATION);
461 DALI_TEST_EQUALS(Vector3::YAXIS.Dot(Vector3::YAXIS), 1.0f, TEST_LOCATION);
462 DALI_TEST_EQUALS(Vector3::ZAXIS.Dot(Vector3::ZAXIS), 1.0f, TEST_LOCATION);
464 DALI_TEST_EQUALS(Vector3(1.0f, 0.0f, 0.0f).Dot(Vector3(1.0f, 0.0f, 0.0f)), 1.0f, TEST_LOCATION);
466 for (float x = 0; x<6.0f; x+=1.0f)
468 Vector3 v0(cosf(x), sinf(x), 0.0f);
469 Vector3 v1(sinf(x), -cosf(x), 0.0f);
470 DALI_TEST_EQUALS(v0.Dot(v1), 0.0f, 0.0001f, TEST_LOCATION);
471 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
473 v0 = Vector3(cosf(x), 0.0f, sinf(x));
474 v1 = Vector3(sinf(x), 0.0f, -cosf(x));
475 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
478 Vector3 v0 = Vector3(12.0f, 7.0f, 9.0f);
481 Vector3 v1 = v0 * 2.0f;
482 DALI_TEST_EQUALS(v0.Dot(v1), 2.0f, 0.001f, TEST_LOCATION);
486 int UtcDaliVector3CrossP(void)
488 TestApplication application;
489 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::YAXIS), Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
490 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::ZAXIS), Vector3::XAXIS, 0.0001f, TEST_LOCATION);
491 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::XAXIS), Vector3::YAXIS, 0.0001f, TEST_LOCATION);
493 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::ZAXIS), -Vector3::YAXIS, 0.0001f, TEST_LOCATION);
494 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::XAXIS), -Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
495 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::YAXIS), -Vector3::XAXIS, 0.0001f, TEST_LOCATION);
497 Vector3 v0(2.0f, 3.0f, 4.0f);
498 Vector3 v1(10.0f, 20.0f, 30.0f);
499 Vector3 result( (v0.y * v1.z) - (v0.z * v1.y),
500 (v0.z * v1.x) - (v0.x * v1.z),
501 (v0.x * v1.y) - (v0.y * v1.x) );
504 DALI_TEST_EQUALS(v0.Cross(v1), result, 0.001f, TEST_LOCATION);
508 int UtcDaliVector3LengthP(void)
510 TestApplication application;
511 Vector3 v(1.0f, 2.0f, 3.0f);
512 DALI_TEST_EQUALS(v.Length(), sqrtf(v.x*v.x + v.y*v.y + v.z*v.z), 0.001f, TEST_LOCATION);
514 Vector3 v1(0.0f, 0.0f, 0.0f);
515 DALI_TEST_EQUALS(v1.Length(), 0.0f, TEST_LOCATION);
519 int UtcDaliVector3LengthSquaredP(void)
521 TestApplication application;
522 Vector3 v(1.0f, 2.0f, 3.0f);
523 DALI_TEST_EQUALS(v.LengthSquared(), v.x*v.x + v.y*v.y + v.z*v.z, 0.001f, TEST_LOCATION);
525 Vector3 v1(0.0f, 0.0f, 0.0f);
526 DALI_TEST_EQUALS(v1.LengthSquared(), 0.0f, TEST_LOCATION);
530 int UtcDaliVector3NormalizeP(void)
532 TestApplication application;
533 for (float f=0.0f; f<6.0f; f+=1.0f)
535 Vector3 v(cosf(f)*10.0f, cosf(f+1.0f)*10.0f, cosf(f+2.0f)*10.0f);
537 DALI_TEST_EQUALS(v.LengthSquared(), 1.0f, 0.001f, TEST_LOCATION);
540 Vector3 v(0.0f, 0.0f, 0.0f);
542 DALI_TEST_EQUALS(v.LengthSquared(), 0.0f, 0.00001f, TEST_LOCATION);
546 int UtcDaliVector3ClampVector3P(void)
548 TestApplication application;
550 Vector3 v0(2.0f, 0.8f, 0.0f);
551 Vector3 v1(-1.0f, 2.0f, 10.0f);
552 Vector3 v2(10.0f, 5.0f, 0.0f);
553 Vector3 v3(8.0f, 10.0f, 5.0f);
554 Vector3 v4(4.9f, 5.1f, 10.0f);
555 Vector3 min(1.0f, 4.0f, 1.5f);
556 Vector3 max(9.0f, 6.0f, 8.0f);
558 v0.Clamp( min, max );
559 v1.Clamp( min, max );
560 v2.Clamp( min, max );
561 v3.Clamp( min, max );
562 v4.Clamp( min, max );
564 DALI_TEST_EQUALS( v0, Vector3(2.0f, 4.0f, 1.5f), 0.01f, TEST_LOCATION );
565 DALI_TEST_EQUALS( v1, Vector3(1.0f, 4.0f, 8.0f), 0.01f, TEST_LOCATION );
566 DALI_TEST_EQUALS( v2, Vector3(9.0f, 5.0f, 1.5f), 0.01f, TEST_LOCATION );
567 DALI_TEST_EQUALS( v3, Vector3(8.0f, 6.0f, 5.0f), 0.01f, TEST_LOCATION );
568 DALI_TEST_EQUALS( v4, Vector3(4.9f, 5.1f, 8.0f), 0.01f, TEST_LOCATION );
572 int UtcDaliVector3AsFloatP(void)
574 TestApplication application;
575 float values[] = {0.0f, 1.0f, 2.0f};
578 for (int i=0;i<3;++i)
580 DALI_TEST_EQUALS(v0.AsFloat()[i], values[i], TEST_LOCATION);
586 int UtcDaliVector3ConstAsFloatP(void)
588 TestApplication application;
589 float values[] = {0.0f, 1.0f, 2.0f};
592 const Vector3 v1(values);
593 for (int i=0;i<3;++i)
595 DALI_TEST_EQUALS(v1.AsFloat()[i], values[i], TEST_LOCATION);
600 int UtcDaliVector3ConstAsVectorXYP(void)
602 TestApplication application;
603 float values[] = {0.0f, 1.0f, 2.0f};
604 const Vector3 v0(values);
605 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
606 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
610 int UtcDaliVector3AsVectorXYP(void)
612 TestApplication application;
613 float values[] = {0.0f, 1.0f, 2.0f};
616 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
617 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
621 int UtcDaliVector3ConstAsVectorXZP(void)
623 TestApplication application;
624 float values[] = {0.0f, 1.0f, 2.0f};
625 const Vector3 v0(values);
627 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
628 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
632 int UtcDaliVector3AsVectorXZP(void)
634 TestApplication application;
635 float values[] = {0.0f, 1.0f, 2.0f};
638 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
639 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
643 int UtcDaliVector3OStreamOperatorP(void)
645 TestApplication application;
646 std::ostringstream oss;
648 Vector3 vector(1, 2, 3);
652 std::string expectedOutput = "[1, 2, 3]";
654 DALI_TEST_EQUALS( oss.str(), expectedOutput, TEST_LOCATION);
658 int UtcDaliVector3MinP(void)
660 TestApplication application;
661 Vector3 v0(2.0f, 2.0f, 1.0f);
662 Vector3 v1(1.0f, 1.0f, 2.0f);
664 DALI_TEST_EQUALS(Min(v0, v1), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION);
668 int UtcDaliVector3MaxP(void)
670 TestApplication application;
671 Vector3 v0(2.0f, 1.0f, 3.0f);
672 Vector3 v1(1.0f, 2.0f, 3.0f);
674 DALI_TEST_EQUALS(Max(v0, v1), Vector3(2.0f, 2.0f, 3.0f), 0.01f, TEST_LOCATION);
678 int UtcDaliVector3ClampP(void)
680 TestApplication application;
681 Vector3 v0( 2.0f, 1.0f, 0.0f );
682 Vector3 v1( -1.0f, 2.0f, 1.0f );
684 DALI_TEST_EQUALS( Clamp( v0, 0.9f, 1.1f ), Vector3(1.1f, 1.0f, 0.9f), 0.01f, TEST_LOCATION );
685 DALI_TEST_EQUALS( Clamp( v1, 1.0f, 1.0f ), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION );
689 int UtcDaliVector3ConstantsP(void)
691 TestApplication application;
692 Vector3 va = Vector3::ZERO;
693 Vector3 vb = Vector3::ONE;
694 Vector3 vc = Vector3::XAXIS;
696 DALI_TEST_EQUALS(va.x, 0.0f, 0.001f, TEST_LOCATION);
697 DALI_TEST_EQUALS(va.y, 0.0f, 0.001f, TEST_LOCATION);
698 DALI_TEST_EQUALS(va.z, 0.0f, 0.001f, TEST_LOCATION);
700 DALI_TEST_EQUALS(vb.x, 1.0f, 0.001f, TEST_LOCATION);
701 DALI_TEST_EQUALS(vb.y, 1.0f, 0.001f, TEST_LOCATION);
702 DALI_TEST_EQUALS(vb.z, 1.0f, 0.001f, TEST_LOCATION);
704 DALI_TEST_EQUALS(vc.x, 1.0f, 0.001f, TEST_LOCATION);
705 DALI_TEST_EQUALS(vc.y, 0.0f, 0.001f, TEST_LOCATION);
706 DALI_TEST_EQUALS(vc.z, 0.0f, 0.001f, TEST_LOCATION);