diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 2027cb4cd6d937796384dcf4c5ab72acf89a5b4c..f1a99cb73e037f88df21ef41bb8041c3df72cecf 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -49,6 +49,10 @@ target_link_libraries(gtest_example ${PROJECT_NAME}) # wolf_add_gtest(gtest_frame_base gtest_frame_base.cpp) target_link_libraries(gtest_frame_base ${PROJECT_NAME}) +# FrameIMU class test +wolf_add_gtest(gtest_frame_imu gtest_frame_imu.cpp) +target_link_libraries(gtest_frame_imu ${PROJECT_NAME}) + # LocalParametrizationXxx classes test wolf_add_gtest(gtest_local_param gtest_local_param.cpp) target_link_libraries(gtest_local_param ${PROJECT_NAME}) diff --git a/src/test/gtest_frame_imu.cpp b/src/test/gtest_frame_imu.cpp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7bbfc1f98c1b77fb1fea9fe2f40505387c4452a1 100644 --- a/src/test/gtest_frame_imu.cpp +++ b/src/test/gtest_frame_imu.cpp @@ -0,0 +1,39 @@ +/* + * gtest_frame_imu.cpp + * + * Created on: Jan 05, 2017 + * Author: Dinesh Atchuthan + */ + + #include "utils_gtest.h" +#include "../logging.h" + +#include "../frame_imu.h" +#include "../capture_motion.h" + +#include <iostream> + +using namespace Eigen; +using namespace std; +using namespace wolf; + +TEST(FrameIMU, Getters) +{ + TimeStamp ts(0.1); + Eigen::VectorXs state0(16); + state0 << 0,0,0, 0,0,0, 0,0,0,1, 0,0,.001, 0,0,.002; + FrameIMUPtr F = make_shared<FrameIMU>(KEY_FRAME, ts, state0); + + Eigen::Vector3s acc_b = F->getAccBiasPtr()->getVector(); + Eigen::Vector3s gyro_b = F->getGyroBiasPtr()->getVector(); + + ASSERT_TRUE((state0.segment(10,3) - acc_b).isMuchSmallerThan(1, wolf::Constants::EPS_SMALL)); + ASSERT_TRUE((state0.tail(3) - gyro_b).isMuchSmallerThan(1, wolf::Constants::EPS_SMALL)); +} + + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}