From: Vivek Ellur Date: Thu, 22 Oct 2015 19:23:00 +0000 (-0700) Subject: eina_quaternion: add test cases for interpolation functions. X-Git-Tag: v1.16.0-beta3~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ccd7c2b014e98d2e5dbbd6aa5a7515de794aae98;p=platform%2Fupstream%2Fefl.git eina_quaternion: add test cases for interpolation functions. Summary: Added test cases for quaternion_lerp, quaternion_slerp and quaternion_nlerp functions Signed-off-by: Vivek Ellur Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3209 Signed-off-by: Cedric BAIL --- diff --git a/src/tests/eina/eina_test_quaternion.c b/src/tests/eina/eina_test_quaternion.c index 5177678..058ca3c 100644 --- a/src/tests/eina/eina_test_quaternion.c +++ b/src/tests/eina/eina_test_quaternion.c @@ -259,7 +259,6 @@ START_TEST(eina_test_quaternion_mul) eina_init(); eina_quaternion_mul(&r, &p, &q); - fprintf(stderr, "%f %f %f %f\n", res.w, res.x, res.y, res.z); fail_if(!eina_quaternion_cmp(&r, &res)); eina_shutdown(); @@ -379,6 +378,42 @@ START_TEST(eina_test_quaternion_f16p16_lerp) } END_TEST +START_TEST(eina_test_quaternion_lerp) +{ + Eina_Quaternion rp = {0, 0, 1, 0}; + Eina_Quaternion rq = {1, 0, 0, 0}; + Eina_Quaternion rr, res = {0.5, 0.0, 0.5, 0.0}; + + eina_init(); + + eina_quaternion_lerp(&rr, &rp, &rq, 0.5); + fail_if(!eina_quaternion_cmp(&rr, &res)); + + eina_quaternion_set(&rp, 1, 1, 1, 0); + eina_quaternion_set(&rq, 0, 1, 1, 0); + eina_quaternion_set(&res, 0.5, 1.0, 1.0, 0.0); + + eina_quaternion_lerp(&rr, &rp, &rq, 0.5); + fail_if(!eina_quaternion_cmp(&rr, &res)); + + eina_quaternion_set(&rp, 0, 0, 1, 0); + eina_quaternion_set(&rq, 1, 1, 1, 0); + eina_quaternion_set(&res, 0.5, 0.5, 1.0, 0.0); + + eina_quaternion_slerp(&rr, &rp, &rq, 0.5); + fail_if(!eina_quaternion_cmp(&rr, &res)); + + eina_quaternion_set(&rp, 0, 0, 0, 0); + eina_quaternion_set(&rq, 1, 1, 1, 0); + eina_quaternion_set(&res, 1.0, 1.0, 1.0, 0.0); + + eina_quaternion_nlerp(&rr, &rp, &rq, 1.0); + fail_if(!eina_quaternion_cmp(&rr, &res)); + + eina_shutdown(); +} +END_TEST + void eina_test_quaternion(TCase *tc) { @@ -395,4 +430,5 @@ eina_test_quaternion(TCase *tc) //tcase_add_test(tc, eina_test_matrix_quaternion); tcase_add_test(tc, eina_test_matrix_recompose); tcase_add_test(tc, eina_test_quaternion_f16p16_lerp); + tcase_add_test(tc, eina_test_quaternion_lerp); }