cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=df50704764e0fd75b4be70c36a85611d85446bff

commit df50704764e0fd75b4be70c36a85611d85446bff
Author: Vivek Ellur <[email protected]>
Date:   Tue Jul 28 00:55:56 2015 +0200

    eina_quaternion: add test cases for various eina quaternion operations
    
    Summary:
    Added test cases for scale, multiply, normalize,dot operations for 
quaternion
    Signed-off-by: Vivek Ellur <[email protected]>
    
    Reviewers: cedric
    
    Reviewed By: cedric
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D2790
    
    Signed-off-by: Cedric BAIL <[email protected]>
---
 src/tests/eina/eina_test_quaternion.c | 79 +++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/src/tests/eina/eina_test_quaternion.c 
b/src/tests/eina/eina_test_quaternion.c
index 78d1e2e..2e47580 100644
--- a/src/tests/eina/eina_test_quaternion.c
+++ b/src/tests/eina/eina_test_quaternion.c
@@ -180,6 +180,80 @@ START_TEST(eina_test_quaternion_f16p16)
 }
 END_TEST
 
+START_TEST(eina_test_quaternion_dot)
+{
+   Eina_Quaternion q = {1, 3, 4, 5};
+   Eina_Quaternion r = {7, 9, 5, 1};
+   double res;
+
+   eina_init();
+
+   res = eina_quaternion_dot(&q, &r);
+   fail_if(res != 59);
+
+   eina_shutdown();
+}
+END_TEST
+
+START_TEST(eina_test_quaternion_scale)
+{
+   Eina_Quaternion q = {1, 3, 4, 5};
+   double scale = 2;
+   Eina_Quaternion r, res = {2, 6, 8, 10};
+
+   eina_init();
+
+   eina_quaternion_scale(&r, &q, scale);
+   fail_if(!eina_quaternion_cmp(&r, &res));
+
+   eina_shutdown();
+}
+END_TEST
+
+START_TEST(eina_test_quaternion_set)
+{
+   Eina_Quaternion q, r = {1, 3, 4, 5};
+
+   eina_init();
+
+   eina_quaternion_set(&q, 1, 3, 4, 5);
+
+   fail_if(!eina_quaternion_cmp(&q, &r));
+
+   eina_shutdown();
+}
+END_TEST
+
+START_TEST(eina_test_quaternion_mul)
+{
+   Eina_Quaternion p = {1, 3, 4, 5};
+   Eina_Quaternion q = {7, 9, 5, 1};
+   Eina_Quaternion r, res = {15, 71, 17, -49};
+
+   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();
+}
+END_TEST
+
+START_TEST(eina_test_quaternion_normalized)
+{
+   Eina_Quaternion p = {1, 1, 1, 1};
+   Eina_Quaternion res, q = {0.5, 0.5, 0.5, 0.5};
+
+   eina_init();
+
+   eina_quaternion_normalized(&res, &p);
+   fail_if(!eina_quaternion_cmp(&q, &res));
+
+   eina_shutdown();
+}
+END_TEST
+
 void
 eina_test_quaternion(TCase *tc)
 {
@@ -188,4 +262,9 @@ eina_test_quaternion(TCase *tc)
    tcase_add_test(tc, eina_test_quaternion_matrix);
    tcase_add_test(tc, eina_test_quaternion_op);
    tcase_add_test(tc, eina_test_quaternion_f16p16);
+   tcase_add_test(tc, eina_test_quaternion_dot);
+   tcase_add_test(tc, eina_test_quaternion_scale);
+   tcase_add_test(tc, eina_test_quaternion_set);
+   tcase_add_test(tc, eina_test_quaternion_mul);
+   tcase_add_test(tc, eina_test_quaternion_normalized);
 }

-- 


Reply via email to