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();
+}