2 * Copyright (c) 2014 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 UtcDaliVector3Assign01P(void)
93 TestApplication application;
95 const float array[] = { 1.0f, 2.0f, 3.0f };
96 v0 = (const float*)array;
98 DALI_TEST_EQUALS(v0.x, 1.0f, 0.001f, TEST_LOCATION);
99 DALI_TEST_EQUALS(v0.y, 2.0f, 0.001f, TEST_LOCATION);
100 DALI_TEST_EQUALS(v0.z, 3.0f, 0.001f, TEST_LOCATION);
104 int UtcDaliVector3Assign02P(void)
106 TestApplication application;
107 Vector2 vec2_q(1.0f, 2.0f);
111 DALI_TEST_EQUALS(vec3a.x, 1.0f, 0.001f, TEST_LOCATION);
112 DALI_TEST_EQUALS(vec3a.y, 2.0f, 0.001f, TEST_LOCATION);
113 DALI_TEST_EQUALS(vec3a.z, 0.0f, 0.001f, TEST_LOCATION);
117 int UtcDaliVector3Assign03P(void)
119 TestApplication application;
120 Vector4 vec4_q(4.0f, 3.0f, 2.0f, 1.0f);
124 DALI_TEST_EQUALS(vec3b.x, 4.0f, 0.001f, TEST_LOCATION);
125 DALI_TEST_EQUALS(vec3b.y, 3.0f, 0.001f, TEST_LOCATION);
126 DALI_TEST_EQUALS(vec3b.z, 2.0f, 0.001f, TEST_LOCATION);
130 int UtcDaliVector3Add01P(void)
132 TestApplication application;
133 Vector3 v0(1.0f, 2.0f, 3.0f);
134 Vector3 v1(10.0f, 20.0f, 30.0f);
135 Vector3 r0(11.0f, 22.0f, 33.0f);
138 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
143 int UtcDaliVector3Add02P(void)
145 TestApplication application;
146 Vector3 v0(1.0f, 2.0f, 3.0f);
147 Vector3 v1(10.0f, 20.0f, 30.0f);
148 Vector3 r0(11.0f, 22.0f, 33.0f);
151 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
156 int UtcDaliVector3Subtract01P(void)
158 TestApplication application;
159 Vector3 v0(11.0f, 22.0f, 33.0f);
160 Vector3 v1(10.0f, 20.0f, 30.0f);
161 Vector3 r0(1.0f, 2.0f, 3.0f);
164 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
169 int UtcDaliVector3Subtract02P(void)
171 TestApplication application;
172 Vector3 v0(11.0f, 22.0f, 33.0f);
173 Vector3 v1(10.0f, 20.0f, 30.0f);
174 Vector3 r0(1.0f, 2.0f, 3.0f);
177 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
181 int UtcDaliVector3Multiply01P(void)
183 TestApplication application;
184 Vector3 v0(2.0f, 3.0f, 4.0f);
185 Vector3 v1(10.0f, 20.0f, 30.0f);
186 Vector3 r0(20.0f, 60.0f, 120.0f);
188 Vector3 v2 = v0 * v1;
189 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
193 int UtcDaliVector3Multiply02P(void)
195 TestApplication application;
196 Vector3 v0(2.0f, 3.0f, 4.0f);
197 Vector3 r0(20.0f, 30.0f, 40.0f);
198 Vector3 v2 = v0 * 10.f;
199 DALI_TEST_EQUALS(v2, r0, 0.001, TEST_LOCATION);
203 int UtcDaliVector3Multiply03P(void)
205 TestApplication application;
206 Vector3 v0(2.0f, 3.0f, 4.0f);
207 Vector3 v1(10.0f, 20.0f, 30.0f);
208 Vector3 r0(20.0f, 60.0f, 120.0f);
210 DALI_TEST_EQUALS(v0, r0, 0.001, TEST_LOCATION);
214 int UtcDaliVector3Multiply04P(void)
216 TestApplication application;
217 Vector3 v0(2.0f, 3.0f, 4.0f);
218 Vector3 r0(20.0f, 30.0f, 40.0f);
220 DALI_TEST_EQUALS(v0, r0, TEST_LOCATION);
224 int UtcDaliVector3Multiply05P(void)
226 TestApplication application;
227 Vector3 vec3(Vector3::YAXIS);
228 Quaternion rotation(Radian(Math::PI_2), Vector3::ZAXIS);
229 Vector3 result(-Vector3::XAXIS);
231 DALI_TEST_EQUALS( vec3, result, 0.001, TEST_LOCATION );
235 int UtcDaliVector3Divide01P(void)
237 TestApplication application;
238 Vector3 v0(1.0f, 1.0f, 1.0f);
239 Vector3 v1(2.0f, 3.0f, 5.0f);
240 Vector3 v2(4.0f, 9.0f, 25.0f);
242 DALI_TEST_EQUALS( v0/v0, v0, TEST_LOCATION);
243 DALI_TEST_EQUALS( v1/v0, v1, TEST_LOCATION);
244 DALI_TEST_EQUALS( v1/v1, v0, TEST_LOCATION);
245 DALI_TEST_EQUALS( v2/v1, v1, TEST_LOCATION);
250 int UtcDaliVector3Divide02P(void)
252 TestApplication application;
253 Vector3 v0(3.0f, 6.0f, 9.0f);
254 Vector3 v1(1.0f, 2.0f, 3.0f);
255 Vector3 r(3.0f, 3.0f, 3.0f);
256 Vector3 v2 = v0 / v1;
257 DALI_TEST_EQUALS(v2, r, TEST_LOCATION);
261 int UtcDaliVector3Divide03P(void)
263 TestApplication application;
264 Vector3 v0(3.0f, 6.0f, 9.0f);
265 Vector3 v1(1.0f, 2.0f, 3.0f);
266 Vector3 v2 = v0 / 3.f;
267 DALI_TEST_EQUALS(v2, v1, TEST_LOCATION);
271 int UtcDaliVector3Divide04P(void)
273 TestApplication application;
274 Vector3 v0(3.0f, 6.0f, 9.0f);
275 Vector3 v1(1.0f, 1.0f, 1.0f);
278 DALI_TEST_EQUALS(v4, v1, TEST_LOCATION);
282 int UtcDaliVector3Divide05P(void)
284 TestApplication application;
285 Vector3 v0(3.0f, 6.0f, 9.0f);
286 Vector3 v1(1.0f, 2.0f, 3.0f);
289 DALI_TEST_EQUALS(v4, v1, TEST_LOCATION);
294 int UtcDaliVector3NegateP(void)
296 TestApplication application;
297 Vector3 v1(10.0f, 20.0f, 30.f);
298 Vector3 r0(-10.0f, -20.0f, -30.f);
301 DALI_TEST_EQUALS(v2, r0, TEST_LOCATION);
305 int UtcDaliVector3EqualsP(void)
307 TestApplication application;
308 Vector3 v0(1.0f, 2.0f, 3.0f);
309 Vector3 v1(1.0f, 2.0f, 3.0f);
311 DALI_TEST_CHECK(v0 == v1);
315 int UtcDaliVector3NotEqualsP(void)
317 TestApplication application;
318 Vector3 v0(1.0f, 2.0f, 3.0f);
319 Vector3 v1(1.0f, 2.0f, 3.0f);
320 Vector3 v2 = Vector3(0.0f, 2.0f, 3.0f);
321 DALI_TEST_CHECK(v0 != v2);
323 v2 = Vector3(1.0f, 0.0f, 3.0f);
324 DALI_TEST_CHECK(v0 != v2);
326 v2 = Vector3(1.0f, 2.0f, 0.0f);
327 DALI_TEST_CHECK(v0 != v2);
329 v2 = Vector3(11.0f, 22.0f, 33.0f);
330 DALI_TEST_CHECK(v0 != v2);
334 int UtcDaliVector3OperatorSubscriptP(void)
336 TestApplication application;
337 Vector3 testVector(1.0f, 2.0f, 3.0f);
339 // read array subscripts
340 DALI_TEST_EQUALS( testVector[0], 1.0f, TEST_LOCATION );
341 DALI_TEST_EQUALS( testVector[1], 2.0f, TEST_LOCATION );
342 DALI_TEST_EQUALS( testVector[2], 3.0f, TEST_LOCATION );
344 // write array subscripts/read struct memebers
345 testVector[0] = 4.0f;
346 testVector[1] = 5.0f;
347 testVector[2] = 6.0f;
349 DALI_TEST_EQUALS( testVector.x, 4.0f, TEST_LOCATION );
350 DALI_TEST_EQUALS( testVector.y, 5.0f, TEST_LOCATION );
351 DALI_TEST_EQUALS( testVector.z, 6.0f, TEST_LOCATION );
353 // write struct members/read array subscripts
358 DALI_TEST_EQUALS( testVector[0], 7.0f, TEST_LOCATION );
359 DALI_TEST_EQUALS( testVector[1], 8.0f, TEST_LOCATION );
360 DALI_TEST_EQUALS( testVector[2], 9.0f, TEST_LOCATION );
364 int UtcDaliVector3ConstOperatorSubscriptP(void)
366 TestApplication application;
367 Vector3 testVector(1.0f, 2.0f, 3.0f);
369 // write struct members/read array subscripts
370 const Vector3 testVector2(1.0f, 2.0f, 3.0f);
371 const float& x = testVector2[0];
372 const float& y = testVector2[1];
373 const float& z ( testVector2[2] );
375 DALI_TEST_EQUALS( x, 1.0f, TEST_LOCATION );
376 DALI_TEST_EQUALS( y, 2.0f, TEST_LOCATION );
377 DALI_TEST_EQUALS( z, 3.0f, TEST_LOCATION );
381 float& w = testVector[4];
382 (void)w; // Suppress unused variable warning
383 tet_result(TET_FAIL);
385 catch (Dali::DaliException& e)
387 DALI_TEST_PRINT_ASSERT( e );
388 DALI_TEST_ASSERT( e, "index < 3", TEST_LOCATION );
393 const float& w = testVector2[4];
394 (void)w; // Suppress unused variable warning
395 tet_result(TET_FAIL);
397 catch (Dali::DaliException& e)
399 DALI_TEST_PRINT_ASSERT( e );
400 DALI_TEST_ASSERT(e, "index < 3", TEST_LOCATION);
406 int UtcDaliVector3DotP(void)
408 TestApplication application;
409 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::YAXIS), 0.0f, TEST_LOCATION);
410 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::ZAXIS), 0.0f, TEST_LOCATION);
411 DALI_TEST_EQUALS(Vector3::XAXIS.Dot(Vector3::XAXIS), 1.0f, TEST_LOCATION);
412 DALI_TEST_EQUALS(Vector3::YAXIS.Dot(Vector3::YAXIS), 1.0f, TEST_LOCATION);
413 DALI_TEST_EQUALS(Vector3::ZAXIS.Dot(Vector3::ZAXIS), 1.0f, TEST_LOCATION);
415 DALI_TEST_EQUALS(Vector3(1.0f, 0.0f, 0.0f).Dot(Vector3(1.0f, 0.0f, 0.0f)), 1.0f, TEST_LOCATION);
417 for (float x = 0; x<6.0f; x+=1.0f)
419 Vector3 v0(cosf(x), sinf(x), 0.0f);
420 Vector3 v1(sinf(x), -cosf(x), 0.0f);
421 DALI_TEST_EQUALS(v0.Dot(v1), 0.0f, 0.0001f, TEST_LOCATION);
422 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
424 v0 = Vector3(cosf(x), 0.0f, sinf(x));
425 v1 = Vector3(sinf(x), 0.0f, -cosf(x));
426 DALI_TEST_EQUALS(v0.Dot(v0), 1.0f, 0.0001f, TEST_LOCATION);
429 Vector3 v0 = Vector3(12.0f, 7.0f, 9.0f);
432 Vector3 v1 = v0 * 2.0f;
433 DALI_TEST_EQUALS(v0.Dot(v1), 2.0f, 0.001f, TEST_LOCATION);
437 int UtcDaliVector3CrossP(void)
439 TestApplication application;
440 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::YAXIS), Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
441 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::ZAXIS), Vector3::XAXIS, 0.0001f, TEST_LOCATION);
442 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::XAXIS), Vector3::YAXIS, 0.0001f, TEST_LOCATION);
444 DALI_TEST_EQUALS(Vector3::XAXIS.Cross(Vector3::ZAXIS), -Vector3::YAXIS, 0.0001f, TEST_LOCATION);
445 DALI_TEST_EQUALS(Vector3::YAXIS.Cross(Vector3::XAXIS), -Vector3::ZAXIS, 0.0001f, TEST_LOCATION);
446 DALI_TEST_EQUALS(Vector3::ZAXIS.Cross(Vector3::YAXIS), -Vector3::XAXIS, 0.0001f, TEST_LOCATION);
448 Vector3 v0(2.0f, 3.0f, 4.0f);
449 Vector3 v1(10.0f, 20.0f, 30.0f);
450 Vector3 result( (v0.y * v1.z) - (v0.z * v1.y),
451 (v0.z * v1.x) - (v0.x * v1.z),
452 (v0.x * v1.y) - (v0.y * v1.x) );
455 DALI_TEST_EQUALS(v0.Cross(v1), result, 0.001f, TEST_LOCATION);
459 int UtcDaliVector3LengthP(void)
461 TestApplication application;
462 Vector3 v(1.0f, 2.0f, 3.0f);
463 DALI_TEST_EQUALS(v.Length(), sqrtf(v.x*v.x + v.y*v.y + v.z*v.z), 0.001f, TEST_LOCATION);
465 Vector3 v1(0.0f, 0.0f, 0.0f);
466 DALI_TEST_EQUALS(v1.Length(), 0.0f, TEST_LOCATION);
470 int UtcDaliVector3LengthSquaredP(void)
472 TestApplication application;
473 Vector3 v(1.0f, 2.0f, 3.0f);
474 DALI_TEST_EQUALS(v.LengthSquared(), v.x*v.x + v.y*v.y + v.z*v.z, 0.001f, TEST_LOCATION);
476 Vector3 v1(0.0f, 0.0f, 0.0f);
477 DALI_TEST_EQUALS(v1.LengthSquared(), 0.0f, TEST_LOCATION);
481 int UtcDaliVector3NormalizeP(void)
483 TestApplication application;
484 for (float f=0.0f; f<6.0f; f+=1.0f)
486 Vector3 v(cosf(f)*10.0f, cosf(f+1.0f)*10.0f, cosf(f+2.0f)*10.0f);
488 DALI_TEST_EQUALS(v.LengthSquared(), 1.0f, 0.001f, TEST_LOCATION);
491 Vector3 v(0.0f, 0.0f, 0.0f);
493 DALI_TEST_EQUALS(v.LengthSquared(), 0.0f, 0.00001f, TEST_LOCATION);
497 int UtcDaliVector3ClampVector3P(void)
499 TestApplication application;
501 Vector3 v0(2.0f, 0.8f, 0.0f);
502 Vector3 v1(-1.0f, 2.0f, 10.0f);
503 Vector3 v2(10.0f, 5.0f, 0.0f);
504 Vector3 v3(8.0f, 10.0f, 5.0f);
505 Vector3 v4(4.9f, 5.1f, 10.0f);
506 Vector3 min(1.0f, 4.0f, 1.5f);
507 Vector3 max(9.0f, 6.0f, 8.0f);
509 v0.Clamp( min, max );
510 v1.Clamp( min, max );
511 v2.Clamp( min, max );
512 v3.Clamp( min, max );
513 v4.Clamp( min, max );
515 DALI_TEST_EQUALS( v0, Vector3(2.0f, 4.0f, 1.5f), 0.01f, TEST_LOCATION );
516 DALI_TEST_EQUALS( v1, Vector3(1.0f, 4.0f, 8.0f), 0.01f, TEST_LOCATION );
517 DALI_TEST_EQUALS( v2, Vector3(9.0f, 5.0f, 1.5f), 0.01f, TEST_LOCATION );
518 DALI_TEST_EQUALS( v3, Vector3(8.0f, 6.0f, 5.0f), 0.01f, TEST_LOCATION );
519 DALI_TEST_EQUALS( v4, Vector3(4.9f, 5.1f, 8.0f), 0.01f, TEST_LOCATION );
523 int UtcDaliVector3AsFloatP(void)
525 TestApplication application;
526 float values[] = {0.0f, 1.0f, 2.0f};
529 for (int i=0;i<3;++i)
531 DALI_TEST_EQUALS(v0.AsFloat()[i], values[i], TEST_LOCATION);
537 int UtcDaliVector3ConstAsFloatP(void)
539 TestApplication application;
540 float values[] = {0.0f, 1.0f, 2.0f};
543 const Vector3 v1(values);
544 for (int i=0;i<3;++i)
546 DALI_TEST_EQUALS(v1.AsFloat()[i], values[i], TEST_LOCATION);
551 int UtcDaliVector3ConstAsVectorXYP(void)
553 TestApplication application;
554 float values[] = {0.0f, 1.0f, 2.0f};
555 const Vector3 v0(values);
556 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
557 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
561 int UtcDaliVector3AsVectorXYP(void)
563 TestApplication application;
564 float values[] = {0.0f, 1.0f, 2.0f};
567 DALI_TEST_EQUALS(v0.GetVectorXY().x, values[0], TEST_LOCATION);
568 DALI_TEST_EQUALS(v0.GetVectorXY().y, values[1], TEST_LOCATION);
572 int UtcDaliVector3ConstAsVectorXZP(void)
574 TestApplication application;
575 float values[] = {0.0f, 1.0f, 2.0f};
576 const Vector3 v0(values);
578 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
579 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
583 int UtcDaliVector3AsVectorXZP(void)
585 TestApplication application;
586 float values[] = {0.0f, 1.0f, 2.0f};
589 DALI_TEST_EQUALS(v0.GetVectorYZ().x, values[1], TEST_LOCATION);
590 DALI_TEST_EQUALS(v0.GetVectorYZ().y, values[2], TEST_LOCATION);
594 int UtcDaliVector3OStreamOperatorP(void)
596 TestApplication application;
597 std::ostringstream oss;
599 Vector3 vector(1, 2, 3);
603 std::string expectedOutput = "[1, 2, 3]";
605 DALI_TEST_EQUALS( oss.str(), expectedOutput, TEST_LOCATION);
609 int UtcDaliVector3MinP(void)
611 TestApplication application;
612 Vector3 v0(2.0f, 2.0f, 1.0f);
613 Vector3 v1(1.0f, 1.0f, 2.0f);
615 DALI_TEST_EQUALS(Min(v0, v1), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION);
619 int UtcDaliVector3MaxP(void)
621 TestApplication application;
622 Vector3 v0(2.0f, 1.0f, 3.0f);
623 Vector3 v1(1.0f, 2.0f, 3.0f);
625 DALI_TEST_EQUALS(Max(v0, v1), Vector3(2.0f, 2.0f, 3.0f), 0.01f, TEST_LOCATION);
629 int UtcDaliVector3ClampP(void)
631 TestApplication application;
632 Vector3 v0( 2.0f, 1.0f, 0.0f );
633 Vector3 v1( -1.0f, 2.0f, 1.0f );
635 DALI_TEST_EQUALS( Clamp( v0, 0.9f, 1.1f ), Vector3(1.1f, 1.0f, 0.9f), 0.01f, TEST_LOCATION );
636 DALI_TEST_EQUALS( Clamp( v1, 1.0f, 1.0f ), Vector3(1.0f, 1.0f, 1.0f), 0.01f, TEST_LOCATION );
640 int UtcDaliVector3ConstantsP(void)
642 TestApplication application;
643 Vector3 va = Vector3::ZERO;
644 Vector3 vb = Vector3::ONE;
645 Vector3 vc = Vector3::XAXIS;
647 DALI_TEST_EQUALS(va.x, 0.0f, 0.001f, TEST_LOCATION);
648 DALI_TEST_EQUALS(va.y, 0.0f, 0.001f, TEST_LOCATION);
649 DALI_TEST_EQUALS(va.z, 0.0f, 0.001f, TEST_LOCATION);
651 DALI_TEST_EQUALS(vb.x, 1.0f, 0.001f, TEST_LOCATION);
652 DALI_TEST_EQUALS(vb.y, 1.0f, 0.001f, TEST_LOCATION);
653 DALI_TEST_EQUALS(vb.z, 1.0f, 0.001f, TEST_LOCATION);
655 DALI_TEST_EQUALS(vc.x, 1.0f, 0.001f, TEST_LOCATION);
656 DALI_TEST_EQUALS(vc.y, 0.0f, 0.001f, TEST_LOCATION);
657 DALI_TEST_EQUALS(vc.z, 0.0f, 0.001f, TEST_LOCATION);