Tetrapod Project
test_linalg_utils.cpp
Go to the documentation of this file.
1 // API for testing
3 
4 // gtest
5 #include <gtest/gtest.h>
6 
7 
8 // Declare tests
9 TEST(LinalgUtils, nullSpaceProjector)
10 {
11  Eigen::Matrix<double, 3, 2> A;
12 
13  A << 1, 0,
14  0, 0,
15  0, 0;
16 
17  Eigen::Matrix<double, 2, 2> N;
18 
20 
21  Eigen::Matrix<double, 2, 2> expectedN;
22 
23  expectedN << 0, 0,
24  0, 1;
25 
26  ASSERT_TRUE(N.isApprox(expectedN, 0.0001));
27 }
28 
29 TEST(LinalgUtils, boxMinus)
30 {
31  Eigen::Vector3d a(5, 2, 3);
32  Eigen::Vector3d b(1, 5, 2);
33 
35 
36  Eigen::Vector3d expectedRes(1.609437912,
37  -0.91629073,
38  0.40546510);
39 
40  ASSERT_TRUE(res.isApprox(expectedRes, 0.0001));
41 }
42 
43 
44 // Run all the tests that were declared with TEST()
45 int main(int argc, char **argv)
46 {
47  testing::InitGoogleTest(&argc, argv);
48  return RUN_ALL_TESTS();
49 }
Eigen::Vector3d Vector3d
Definition: kinematics.h:49
Eigen::Matrix< typename Vector_TypeA::Scalar, Eigen::Dynamic, 1 > boxMinus(const Vector_TypeA &_a, const Vector_TypeB &_b)
The boxMinus function calculates the box-minus operation between two vectors of equal size.
Definition: linalg_utils.h:180
static bool nullSpaceProjector(const Matrix_TypeA &_A, Matrix_TypeB &_N, const double _alpha=1)
The nullSpaceProjector function calculates the null-space projector of a given matrix....
Definition: linalg_utils.h:104
TEST(LinalgUtils, nullSpaceProjector)
int main(int argc, char **argv)