Index: code/trunk/test/util/CMakeLists.txt
===================================================================
--- code/trunk/test/util/CMakeLists.txt	(revision 10197)
+++ code/trunk/test/util/CMakeLists.txt	(revision 10624)
@@ -13,5 +13,4 @@
     MultiTypeTest.cc
     OutputTest.cc
-    ScopeTest.cc
     SharedPtrTest.cc
     SingletonTest.cc
Index: code/trunk/test/util/ScopeTest.cc
===================================================================
--- code/trunk/test/util/ScopeTest.cc	(revision 10197)
+++ 	(revision )
@@ -1,84 +1,0 @@
-#include <gtest/gtest.h>
-#include "util/ScopedSingletonManager.h"
-
-namespace orxonox
-{
-    namespace
-    {
-        class TestSingletonRoot : public Singleton<TestSingletonRoot>
-        {
-            friend class Singleton<TestSingletonRoot>;
-            static TestSingletonRoot* singletonPtr_s;
-        };
-        class TestSingletonGraphics : public Singleton<TestSingletonGraphics>
-        {
-            friend class Singleton<TestSingletonGraphics>;
-            static TestSingletonGraphics* singletonPtr_s;
-        };
-
-        ManageScopedSingleton(TestSingletonRoot, ScopeID::Root, false);
-        ManageScopedSingleton(TestSingletonGraphics, ScopeID::Graphics, false);
-    }
-
-    TEST(Scope, ScopesDoNotExist)
-    {
-        EXPECT_FALSE(Scope<ScopeID::Root>::isActive());
-        EXPECT_FALSE(Scope<ScopeID::Graphics>::isActive());
-    }
-
-    TEST(Scope, SingletonsDoNotExist)
-    {
-        EXPECT_FALSE(TestSingletonRoot::exists());
-        EXPECT_FALSE(TestSingletonGraphics::exists());
-    }
-
-    TEST(Scope, RootScope)
-    {
-        EXPECT_FALSE(Scope<ScopeID::Root>::isActive());
-        {   // create root scope
-            Scope<ScopeID::Root> scope;
-            EXPECT_TRUE(Scope<ScopeID::Root>::isActive());
-        }   // destroy root scope
-        EXPECT_FALSE(Scope<ScopeID::Root>::isActive());
-    }
-
-    TEST(Scope, RootAndGraphicsScope)
-    {
-        EXPECT_FALSE(Scope<ScopeID::Graphics>::isActive());
-        {   // create root scope
-            Scope<ScopeID::Root> scope;
-            EXPECT_FALSE(Scope<ScopeID::Graphics>::isActive());
-            {   // create graphics scope
-                Scope<ScopeID::Graphics> scope;
-                EXPECT_TRUE(Scope<ScopeID::Graphics>::isActive());
-            }   // destroy graphics scope
-            EXPECT_FALSE(Scope<ScopeID::Graphics>::isActive());
-        }   // destroy root scope
-        EXPECT_FALSE(Scope<ScopeID::Graphics>::isActive());
-    }
-
-    TEST(Scope, RootSingleton)
-    {
-        EXPECT_FALSE(TestSingletonRoot::exists());
-        {   // create root scope
-            Scope<ScopeID::Root> scope;
-            EXPECT_TRUE(TestSingletonRoot::exists());
-        }   // destroy root scope
-        EXPECT_FALSE(TestSingletonRoot::exists());
-    }
-
-    TEST(Scope, RootAndGraphicsSingleton)
-    {
-        EXPECT_FALSE(TestSingletonGraphics::exists());
-        {   // create root scope
-            Scope<ScopeID::Root> scope;
-            EXPECT_FALSE(TestSingletonGraphics::exists());
-            {   // create graphics scope
-                Scope<ScopeID::Graphics> scope;
-                EXPECT_TRUE(TestSingletonGraphics::exists());
-            }   // destroy graphics scope
-            EXPECT_FALSE(TestSingletonGraphics::exists());
-        }   // destroy root scope
-        EXPECT_FALSE(TestSingletonGraphics::exists());
-    }
-}
Index: code/trunk/test/util/output/ConsoleWriterTest.cc
===================================================================
--- code/trunk/test/util/output/ConsoleWriterTest.cc	(revision 10197)
+++ code/trunk/test/util/output/ConsoleWriterTest.cc	(revision 10624)
@@ -7,9 +7,24 @@
 namespace orxonox
 {
-    TEST(ConsoleWriterTest, Disable)
+    namespace
     {
-        // reset output manager
-        OutputManager::Testing::getInstancePointer() = new OutputManager();
+        // Fixture
+        class ConsoleWriterTest : public ::testing::Test
+        {
+            public:
+                virtual void SetUp()
+                {
+                    // reset output manager
+                    OutputManager::Testing::getInstancePointer() = new OutputManager();
+                }
 
+                virtual void TearDown()
+                {
+                }
+        };
+    }
+
+    TEST_F(ConsoleWriterTest, Disable)
+    {
         std::ostream stream(NULL);
         EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
@@ -20,9 +35,6 @@
     }
 
-    TEST(ConsoleWriterTest, Enable)
+    TEST_F(ConsoleWriterTest, Enable)
     {
-        // reset output manager
-        OutputManager::Testing::getInstancePointer() = new OutputManager();
-
         std::ostream stream(NULL);
         ConsoleWriter writer(stream);
@@ -33,5 +45,5 @@
     }
 
-    TEST(ConsoleWriterTest, WritesNoOutputToOutputStream)
+    TEST_F(ConsoleWriterTest, WritesNoOutputToOutputStream)
     {
         std::stringbuf buffer;
@@ -44,5 +56,5 @@
     }
 
-    TEST(ConsoleWriterTest, WritesOutputToOutputStream)
+    TEST_F(ConsoleWriterTest, WritesOutputToOutputStream)
     {
         std::stringbuf buffer;
@@ -63,5 +75,5 @@
     }
 
-    TEST(ConsoleWriterTest, DefaultConsoleWriterUsesCout)
+    TEST_F(ConsoleWriterTest, DefaultConsoleWriterUsesCout)
     {
         OutputManager::getInstanceAndCreateListeners();
Index: code/trunk/test/util/output/LogWriterTest.cc
===================================================================
--- code/trunk/test/util/output/LogWriterTest.cc	(revision 10197)
+++ code/trunk/test/util/output/LogWriterTest.cc	(revision 10624)
@@ -3,4 +3,6 @@
 #include "util/output/LogWriter.h"
 #include "util/Convert.h"
+#include "util/output/OutputManager.h"
+#include "util/SharedPtr.h"
 
 namespace orxonox
@@ -14,8 +16,23 @@
                     { this->LogWriter::printLine(line, level); }
         };
+
+        // Fixture
+        class LogWriterTest : public ::testing::Test
+        {
+            public:
+                virtual void SetUp()
+                {
+                    // reset output manager
+                    OutputManager::Testing::getInstancePointer() = new OutputManager();
+                }
+
+                virtual void TearDown()
+                {
+                }
+        };
     }
 
     // test constructor opens file
-    TEST(LogWriterTest, ConstructorOpensFile)
+    TEST_F(LogWriterTest, ConstructorOpensFile)
     {
         LogWriter logWriter;
@@ -64,5 +81,5 @@
     }
 
-    TEST(LogWriterTest, SetLogDirectoryOpensNewFile)
+    TEST_F(LogWriterTest, SetLogDirectoryOpensNewFile)
     {
         std::string path = "./orxonox.log";
@@ -83,5 +100,5 @@
 
     // prints output to logfile
-    TEST(LogWriterTest, PrintsOutputToLogfile)
+    TEST_F(LogWriterTest, PrintsOutputToLogfile)
     {
         std::string path;
@@ -103,5 +120,5 @@
 
     // prints time to logfile
-    TEST(LogWriterTest, PrintsTimestampToLogfile)
+    TEST_F(LogWriterTest, PrintsTimestampToLogfile)
     {
         std::string path;
@@ -152,5 +169,5 @@
     }
 
-    TEST(LogWriterTest, ArchivesOldLogFile)
+    TEST_F(LogWriterTest, ArchivesOldLogFile)
     {
         deleteAllLogFiles();
@@ -196,5 +213,5 @@
     }
 
-    TEST(LogWriterTest, ArchivesNineLogFiles)
+    TEST_F(LogWriterTest, ArchivesNineLogFiles)
     {
         deleteAllLogFiles();
Index: code/trunk/test/util/output/MemoryWriterTest.cc
===================================================================
--- code/trunk/test/util/output/MemoryWriterTest.cc	(revision 10197)
+++ code/trunk/test/util/output/MemoryWriterTest.cc	(revision 10624)
@@ -4,4 +4,5 @@
 #include "util/output/MemoryWriter.h"
 #include "util/output/OutputManager.h"
+#include "util/SharedPtr.h"
 
 namespace orxonox
@@ -14,7 +15,22 @@
                 MOCK_METHOD3(output, void(OutputLevel, const OutputContextContainer&, const std::vector<std::string>&));
         };
+
+        // Fixture
+        class MemoryWriterTest : public ::testing::Test
+        {
+            public:
+                virtual void SetUp()
+                {
+                    // reset output manager
+                    OutputManager::Testing::getInstancePointer() = new OutputManager();
+                }
+
+                virtual void TearDown()
+                {
+                }
+        };
     }
 
-    TEST(MemoryWriterTest, Disable)
+    TEST_F(MemoryWriterTest, Disable)
     {
         EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
@@ -25,5 +41,5 @@
     }
 
-    TEST(MemoryWriterTest, ResendOutput)
+    TEST_F(MemoryWriterTest, ResendOutput)
     {
         MemoryWriter writer;
Index: code/trunk/test/util/output/OutputManagerTest.cc
===================================================================
--- code/trunk/test/util/output/OutputManagerTest.cc	(revision 10197)
+++ code/trunk/test/util/output/OutputManagerTest.cc	(revision 10624)
@@ -98,4 +98,6 @@
 
         EXPECT_FALSE(manager.getListeners().empty());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -123,4 +125,6 @@
 
         EXPECT_FALSE(listener.getListeners().empty());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -156,4 +160,6 @@
         EXPECT_EQ(level::verbose_more, manager.getCombinedAdditionalContextsLevelMask());
         EXPECT_EQ(context::unittest2().mask, manager.getCombinedAdditionalContextsMask());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -193,4 +199,6 @@
 
         EXPECT_EQ(level::internal_warning, manager.getCombinedLevelMask());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -208,4 +216,6 @@
 
         EXPECT_EQ(level::internal_warning, manager.getCombinedAdditionalContextsLevelMask());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -223,4 +233,6 @@
 
         EXPECT_EQ(context::unittest2().mask, manager.getCombinedAdditionalContextsMask());
+
+        manager.unregisterListener(&listener);
     }
 
@@ -254,4 +266,8 @@
         EXPECT_EQ(level::verbose | level::verbose_more | level::verbose_ultra, manager.getCombinedAdditionalContextsLevelMask());
         EXPECT_EQ(context::unittest1().mask | context::unittest2().mask | context::unittest3().mask, manager.getCombinedAdditionalContextsMask());
+
+        manager.unregisterListener(&listener1);
+        manager.unregisterListener(&listener2);
+        manager.unregisterListener(&listener3);
     }
 
@@ -287,4 +303,6 @@
         EXPECT_TRUE(manager.acceptsOutput(level::verbose_more, context::unittest2()));
         EXPECT_FALSE(manager.acceptsOutput(level::verbose_ultra, context::unittest2()));
+
+        manager.unregisterListener(&listener);
     }
 
@@ -302,4 +320,6 @@
 
         manager.pushMessage(level::user_status, context::unittest1(), "some output");
+
+        manager.unregisterListener(&listener);
     }
 
@@ -319,4 +339,6 @@
 
         manager.pushMessage(level::user_status, context::unittest1(), "some output\nand some more output\n!!!");
+
+        manager.unregisterListener(&listener);
     }
 
