From 4a6369cee578e703d9f4103c17a383896e19cd52 Mon Sep 17 00:00:00 2001 From: jgoppert Date: Thu, 5 Nov 2015 18:07:05 -0500 Subject: [PATCH] More coverage testing. --- test/attitude.cpp | 6 ++++++ test/inverse.cpp | 15 +++++++++------ test/matrixAssignment.cpp | 20 ++++++++++++++++++++ test/test_data.py | 3 ++- 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/test/attitude.cpp b/test/attitude.cpp index 5ce509701b..5ce3c45b4a 100644 --- a/test/attitude.cpp +++ b/test/attitude.cpp @@ -125,6 +125,12 @@ int main() Vector q_dot = q.derivative(Vector3f(1, 2, 3)); printf("q_dot:\n"); q_dot.T().print(); + + // quaternion product + Quatf q_prod_check( + 0.93394439f, 0.0674002f, 0.20851f, 0.28236266f); + assert(q_prod_check == q_check*q_check); + }; /* vim: set et fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : */ diff --git a/test/inverse.cpp b/test/inverse.cpp index 5cffe7c808..7a438d0859 100644 --- a/test/inverse.cpp +++ b/test/inverse.cpp @@ -12,21 +12,21 @@ template class SquareMatrix; int main() { - float data[9] = {1, 2, 3, + float data[9] = {0, 2, 3, 4, 5, 6, 7, 8, 10 }; - float data_check[9] = {-0.66666667f, -1.33333333f, 1. , - -0.66666667f, 3.66666667f, -2. , - 1. , -2. , 1. - }; + float data_check[9] = { + -0.4f, -0.8f, 0.6f, + -0.4f, 4.2f, -2.4f, + 0.6f, -2.8f, 1.6f}; SquareMatrix A(data); SquareMatrix A_I = inv(A); SquareMatrix A_I_check(data_check); A_I.print(); A_I_check.print(); - assert(A_I == A_I_check); + assert((A_I - A_I_check).abs().max() < 1e-5); // stess test SquareMatrix A_large; @@ -39,6 +39,9 @@ int main() assert(A_large == A_large_I); } + SquareMatrix zero_test = zero(); + inv(zero_test); + return 0; } diff --git a/test/matrixAssignment.cpp b/test/matrixAssignment.cpp index 635d0291e8..6083a92554 100644 --- a/test/matrixAssignment.cpp +++ b/test/matrixAssignment.cpp @@ -51,6 +51,26 @@ int main() assert(m3 == m2); + float data_row_02_swap[9] = { + 7, 8, 9, + 4, 5, 6, + 1, 2, 3, + }; + + float data_col_02_swap[9] = { + 3, 2, 1, + 6, 5, 4, + 9, 8, 7}; + + Matrix3f m4(data); + + + m4.swapCols(0, 2); + assert(m4 == Matrix3f(data_col_02_swap)); + m4.swapCols(0, 2); + m4.swapRows(0, 2); + assert(m4 == Matrix3f(data_row_02_swap)); + assert(fabs(m4.min() - 1) < 1e-5); return 0; } diff --git a/test/test_data.py b/test/test_data.py index f6da657d98..0ae4e958ae 100644 --- a/test/test_data.py +++ b/test/test_data.py @@ -90,6 +90,7 @@ assert(abs(dcm[:,0].dot(dcm[:,2])) < 1e-10) print('\ndcm:') pprint(dcm) +print('\nq*q', quat_prod(q, q)) q2 = quat_prod(q, q) pprint(q2) @@ -103,7 +104,7 @@ q3_norm =q3 / norm(q3) pprint(q3_norm) print('\ninverse') -A = array([[1,2,3], [4,5,6], [7,8,10]]) +A = array([[0,2,3], [4,5,6], [7,8,10]]) pprint(A) pprint(inv(A))