diff --git a/src/test/gtest_constraint_imu.cpp b/src/test/gtest_constraint_imu.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b9b5a7e49179c616301c9f8802d1995554d41297
--- /dev/null
+++ b/src/test/gtest_constraint_imu.cpp
@@ -0,0 +1,50 @@
+//Wolf
+#include "wolf.h"
+#include "problem.h"
+#include "sensor_imu.h"
+#include "capture_imu.h"
+#include "state_block.h"
+#include "state_quaternion.h"
+#include "processor_imu.h"
+
+#include "utils_gtest.h"
+#include "../src/logging.h"
+
+//#define DEBUG_RESULTS
+
+
+class ConstraintIMU_test : public testing::Test
+{
+    public:
+    
+    virtual void SetUp()
+    {
+
+    }
+
+    virtual void TearDown()
+    {
+        // code here will be called just after the test completes
+        // ok to through exceptions from here if need be
+        /*
+            You can do deallocation of resources in TearDown or the destructor routine. 
+                However, if you want exception handling you must do it only in the TearDown code because throwing an exception 
+                from the destructor results in undefined behavior.
+            The Google assertion macros may throw exceptions in platforms where they are enabled in future releases. 
+                Therefore, it's a good idea to use assertion macros in the TearDown code for better maintenance.
+        */
+    }
+
+};
+
+TEST_F(ConstraintIMU_test, constructors)
+{
+
+}
+
+
+int main(int argc, char **argv)
+{
+  testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}