Index: code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc	(revision 10403)
@@ -4,4 +4,5 @@
 #include "core/class/OrxonoxClass.h"
 #include "core/class/OrxonoxInterface.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -141,8 +142,13 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
                 }
 
                 virtual void TearDown()
                 {
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
@@ -159,57 +165,57 @@
     }
 
-//    TEST(IdentifierClassHierarchyTest_NoFixture, NoInitialization)
-//    {
-//        {
-//            Identifier* identifier = Class(BaseInterface1);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(BaseInterface2);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Interface1);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Interface2);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(BaseClass);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Class0);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Class1);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Class2a);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Class2b);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(Class3);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//    }
+    TEST(IdentifierClassHierarchyTest_NoFixture, NoInitialization)
+    {
+        {
+            Identifier* identifier = Class(BaseInterface1);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(BaseInterface2);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Interface1);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Interface2);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(BaseClass);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Class0);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Class1);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Class2a);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Class2b);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(Class3);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+    }
 
     TEST_F(IdentifierClassHierarchyTest, TestBaseInterface1)
Index: code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc	(revision 10403)
@@ -2,4 +2,5 @@
 #include "core/CoreIncludes.h"
 #include "core/class/Identifiable.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -48,8 +49,13 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
                 }
 
                 virtual void TearDown()
                 {
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
@@ -66,22 +72,22 @@
     }
 
-//    TEST(IdentifierExternalClassHierarchyTest_NoFixture, NoInitialization)
-//    {
-//        {
-//            Identifier* identifier = Class(Interface);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(BaseClass);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(RealClass);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//    }
+    TEST(IdentifierExternalClassHierarchyTest_NoFixture, NoInitialization)
+    {
+        {
+            Identifier* identifier = Class(Interface);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(BaseClass);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(RealClass);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+    }
 
     TEST_F(IdentifierExternalClassHierarchyTest, TestInterface)
Index: code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc	(revision 10403)
@@ -4,4 +4,5 @@
 #include "core/class/OrxonoxClass.h"
 #include "core/class/OrxonoxInterface.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -108,8 +109,13 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
                 }
 
                 virtual void TearDown()
                 {
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
Index: code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc	(revision 10403)
@@ -4,4 +4,5 @@
 #include "core/class/OrxonoxClass.h"
 #include "core/class/OrxonoxInterface.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -50,8 +51,13 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
                 }
 
                 virtual void TearDown()
                 {
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
@@ -68,22 +74,22 @@
     }
 
-//    TEST(IdentifierSimpleClassHierarchyTest_NoFixture, NoInitialization)
-//    {
-//        {
-//            Identifier* identifier = Class(Interface);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(BaseClass);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//        {
-//            Identifier* identifier = Class(RealClass);
-//            EXPECT_EQ(0u, identifier->getChildren().size());
-//            EXPECT_EQ(0u, identifier->getParents().size());
-//        }
-//    }
+    TEST(IdentifierSimpleClassHierarchyTest_NoFixture, NoInitialization)
+    {
+        {
+            Identifier* identifier = Class(Interface);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(BaseClass);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+        {
+            Identifier* identifier = Class(RealClass);
+            EXPECT_EQ(0u, identifier->getChildren().size());
+            EXPECT_EQ(0u, identifier->getParents().size());
+        }
+    }
 
     TEST_F(IdentifierSimpleClassHierarchyTest, TestInterface)
Index: code/branches/core7/test/core/class/SubclassIdentifierTest.cc
===================================================================
--- code/branches/core7/test/core/class/SubclassIdentifierTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/SubclassIdentifierTest.cc	(revision 10403)
@@ -4,4 +4,5 @@
 #include "core/class/SubclassIdentifier.h"
 #include "core/class/OrxonoxClass.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -30,4 +31,9 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
+
                     Context::setRootContext(new Context(NULL));
                 }
@@ -36,4 +42,6 @@
                 {
                     Context::setRootContext(NULL);
+
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
Index: code/branches/core7/test/core/class/SuperTest.cc
===================================================================
--- code/branches/core7/test/core/class/SuperTest.cc	(revision 10402)
+++ code/branches/core7/test/core/class/SuperTest.cc	(revision 10403)
@@ -5,4 +5,5 @@
 #include "core/BaseObject.h"
 #include "core/class/Super.h"
+#include "core/module/ModuleInstance.h"
 
 namespace orxonox
@@ -65,5 +66,5 @@
         RegisterClass(TestSubclass);
 
-       // Fixture
+        // Fixture
         class SuperTest : public ::testing::Test
         {
@@ -71,4 +72,9 @@
                 virtual void SetUp()
                 {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
+
                     Context::setRootContext(new Context(NULL));
                 }
@@ -77,4 +83,6 @@
                 {
                     Context::setRootContext(NULL);
+
+                    IdentifierManager::getInstance().destroyClassHierarchy();
                 }
         };
Index: code/branches/core7/test/core/command/CommandTest.cc
===================================================================
--- code/branches/core7/test/core/command/CommandTest.cc	(revision 10402)
+++ code/branches/core7/test/core/command/CommandTest.cc	(revision 10403)
@@ -133,4 +133,22 @@
                 ModifyConsoleCommand("test").popFunction();
         }
+
+        // Fixture
+        class CommandTest : public ::testing::Test
+        {
+            public:
+                virtual void SetUp()
+                {
+                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
+                    ModuleInstance::setCurrentModuleInstance(new ModuleInstance()); // overwrite ModuleInstance because the old one is now loaded and shouln't be used anymore. TODO: better solution?
+                    Identifier::initConfigValues_s = false; // TODO: hack!
+                    IdentifierManager::getInstance().createClassHierarchy();
+                }
+
+                virtual void TearDown()
+                {
+                    IdentifierManager::getInstance().destroyClassHierarchy();
+                }
+        };
     }
 
@@ -142,10 +160,6 @@
     }
 
-    TEST(CommandTest, ModuleTest)
+    TEST_F(CommandTest, ModuleTest)
     {
-        ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances();
-        Identifier::initConfigValues_s = false; // TODO: hack!
-        IdentifierManager::getInstance().createClassHierarchy();
-
         test(0, 0, 0);
         CommandExecutor::execute("test 0", false);
