diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index f1a99cb73e037f88df21ef41bb8041c3df72cecf..ac5904064d8001026bfcac33d4a33ecd1e35686e 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -45,6 +45,10 @@ target_link_libraries(gtest_example ${PROJECT_NAME})      #
 #           ==== IN ALPHABETICAL ORDER! ====              #
 #                                                         #
 
+# Constraint_odom_3D classes test
+wolf_add_gtest(gtest_constraint_odom_3D gtest_constraint_odom_3D.cpp)
+target_link_libraries(gtest_constraint_odom_3D ${PROJECT_NAME})
+
 # FrameBase classes test
 wolf_add_gtest(gtest_frame_base gtest_frame_base.cpp)
 target_link_libraries(gtest_frame_base ${PROJECT_NAME})
diff --git a/src/test/gtest_constraint_odom_3D.cpp b/src/test/gtest_constraint_odom_3D.cpp
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..49e140de7f95b7ca87fae6e28e0f6706c11d2a03 100644
--- a/src/test/gtest_constraint_odom_3D.cpp
+++ b/src/test/gtest_constraint_odom_3D.cpp
@@ -0,0 +1,49 @@
+/**
+ * \file gtest_constraint_odom_3D.cpp
+ *
+ *  Created on: Jan 06, 2016
+ *      \author: Dinesh
+ */
+
+#include "wolf.h"
+#include "problem.h"
+#include "sensor_odom_3D.h"
+#include "capture_motion.h"
+#include "state_block.h"
+#include "state_quaternion.h"
+#include "processor_odom_3D.h"
+
+#include "utils_gtest.h"
+#include "../src/logging.h"
+
+TEST(ConstraintOdom3D, constructors)
+{
+    using namespace wolf;
+    using std::shared_ptr;
+    using std::make_shared;
+    using std::static_pointer_cast;
+
+    // Wolf problem
+    wolf::ProblemPtr wolf_problem_ptr_ = Problem::create(FRM_PQVBB_3D);
+    Eigen::VectorXs IMU_extrinsics(7);
+
+    wolf::TimeStamp ts;
+    Eigen::VectorXs state_vec;
+    Eigen::VectorXs delta_preint;
+    Eigen::Vector6s data_;
+
+    state_vec.resize(16);
+    ts.set(0);
+
+    Eigen::VectorXs x0(16);
+    x0 << 0,0,0,  0,0,0,1,  0,0,0,  0,0,0,  0,0,0; // Try some non-zero biases
+
+    //create a feature
+    FeatureBasePtr last_feature = std::make_shared<FeatureBase>("ODOM_3D", x0.head(7),Eigen::Matrix7s::Identity());
+}
+
+int main(int argc, char **argv)
+{
+  testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
\ No newline at end of file