[Orxonox-commit 4866] r9535 - in code/branches/testing: src/libraries/util/output test/util/output
landauf at orxonox.net
landauf at orxonox.net
Mon Mar 4 22:24:31 CET 2013
Author: landauf
Date: 2013-03-04 22:24:30 +0100 (Mon, 04 Mar 2013)
New Revision: 9535
Modified:
code/branches/testing/src/libraries/util/output/ConsoleWriter.h
code/branches/testing/src/libraries/util/output/LogWriter.h
code/branches/testing/src/libraries/util/output/MemoryWriter.h
code/branches/testing/src/libraries/util/output/OutputDefinitions.h
code/branches/testing/src/libraries/util/output/OutputManager.h
code/branches/testing/test/util/output/ConsoleWriterTest.cc
code/branches/testing/test/util/output/MemoryWriterTest.cc
code/branches/testing/test/util/output/OutputListenerTest.cc
Log:
more tests
Modified: code/branches/testing/src/libraries/util/output/ConsoleWriter.h
===================================================================
--- code/branches/testing/src/libraries/util/output/ConsoleWriter.h 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/src/libraries/util/output/ConsoleWriter.h 2013-03-04 21:24:30 UTC (rev 9535)
@@ -49,6 +49,10 @@
class _UtilExport ConsoleWriter : public BaseWriter
{
public:
+ ConsoleWriter();
+ ConsoleWriter(const ConsoleWriter&);
+ virtual ~ConsoleWriter();
+
static ConsoleWriter& getInstance();
void enable();
@@ -58,10 +62,6 @@
virtual void printLine(const std::string& line, OutputLevel level);
private:
- ConsoleWriter();
- ConsoleWriter(const ConsoleWriter&);
- virtual ~ConsoleWriter();
-
bool bEnabled_; ///< If false, the instance will not write output to the console.
};
}
Modified: code/branches/testing/src/libraries/util/output/LogWriter.h
===================================================================
--- code/branches/testing/src/libraries/util/output/LogWriter.h 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/src/libraries/util/output/LogWriter.h 2013-03-04 21:24:30 UTC (rev 9535)
@@ -56,6 +56,10 @@
class _UtilExport LogWriter : public BaseWriter
{
public:
+ LogWriter();
+ LogWriter(const LogWriter&);
+ virtual ~LogWriter();
+
static LogWriter& getInstance();
void setLogPath(const std::string& path);
@@ -64,10 +68,6 @@
virtual void printLine(const std::string& line, OutputLevel level);
private:
- LogWriter();
- LogWriter(const LogWriter&);
- virtual ~LogWriter();
-
void openFile();
void closeFile();
Modified: code/branches/testing/src/libraries/util/output/MemoryWriter.h
===================================================================
--- code/branches/testing/src/libraries/util/output/MemoryWriter.h 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/src/libraries/util/output/MemoryWriter.h 2013-03-04 21:24:30 UTC (rev 9535)
@@ -66,6 +66,10 @@
};
public:
+ MemoryWriter();
+ MemoryWriter(const MemoryWriter&);
+ virtual ~MemoryWriter();
+
static MemoryWriter& getInstance();
void resendOutput(OutputListener* listener) const;
@@ -75,10 +79,6 @@
virtual void output(OutputLevel level, const OutputContextContainer& context, const std::vector<std::string>& lines);
private:
- MemoryWriter();
- MemoryWriter(const MemoryWriter&);
- virtual ~MemoryWriter();
-
std::vector<Message> messages_; ///< Stores all output messages from the creation of this instance until disable() is called.
};
}
Modified: code/branches/testing/src/libraries/util/output/OutputDefinitions.h
===================================================================
--- code/branches/testing/src/libraries/util/output/OutputDefinitions.h 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/src/libraries/util/output/OutputDefinitions.h 2013-03-04 21:24:30 UTC (rev 9535)
@@ -104,6 +104,11 @@
OutputContextMask mask; ///< The mask of the context (or the mask of the main-context if this container defines a sub-context)
OutputContextSubID sub_id; ///< The id of the sub-context (or context::no_subcontext if this container doesn't define a sub-context)
std::string name; ///< The name of this context
+
+ inline bool operator==(const OutputContextContainer& other) const
+ {
+ return this->mask == other.mask && this->sub_id == other.sub_id && this->name == other.name;
+ }
};
typedef const OutputContextContainer& (OutputContextFunction)();
Modified: code/branches/testing/src/libraries/util/output/OutputManager.h
===================================================================
--- code/branches/testing/src/libraries/util/output/OutputManager.h 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/src/libraries/util/output/OutputManager.h 2013-03-04 21:24:30 UTC (rev 9535)
@@ -101,7 +101,6 @@
const std::string& getLevelName(OutputLevel level) const;
std::string getDefaultPrefix(OutputLevel level, const OutputContextContainer& context) const;
- protected:
inline const std::vector<OutputListener*>& getListeners() const
{ return this->listeners_; }
Modified: code/branches/testing/test/util/output/ConsoleWriterTest.cc
===================================================================
--- code/branches/testing/test/util/output/ConsoleWriterTest.cc 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/test/util/output/ConsoleWriterTest.cc 2013-03-04 21:24:30 UTC (rev 9535)
@@ -1,6 +1,25 @@
#include <gtest/gtest.h>
#include "util/Output.h"
+#include "util/output/ConsoleWriter.h"
+#include "util/output/OutputManager.h"
namespace orxonox
{
+ TEST(ConsoleWriterTest, Disable)
+ {
+ EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
+ ConsoleWriter writer;
+ EXPECT_EQ(1U, OutputManager::getInstance().getListeners().size());
+ writer.disable();
+ EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
+ }
+
+ TEST(ConsoleWriterTest, Enable)
+ {
+ ConsoleWriter writer;
+ writer.disable();
+ EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
+ writer.enable();
+ EXPECT_EQ(1U, OutputManager::getInstance().getListeners().size());
+ }
}
Modified: code/branches/testing/test/util/output/MemoryWriterTest.cc
===================================================================
--- code/branches/testing/test/util/output/MemoryWriterTest.cc 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/test/util/output/MemoryWriterTest.cc 2013-03-04 21:24:30 UTC (rev 9535)
@@ -1,6 +1,46 @@
#include <gtest/gtest.h>
+#include <gmock/gmock.h>
#include "util/Output.h"
+#include "util/output/MemoryWriter.h"
+#include "util/output/OutputManager.h"
namespace orxonox
{
+ namespace
+ {
+ class MockOutputListener : public OutputListener
+ {
+ public:
+ MOCK_METHOD3(output, void(OutputLevel, const OutputContextContainer&, const std::vector<std::string>&));
+ };
+ }
+
+ TEST(MemoryWriterTest, Disable)
+ {
+ EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
+ MemoryWriter writer;
+ EXPECT_EQ(1U, OutputManager::getInstance().getListeners().size());
+ writer.disable();
+ EXPECT_EQ(0U, OutputManager::getInstance().getListeners().size());
+ }
+
+ TEST(MemoryWriterTest, ResendOutput)
+ {
+ MemoryWriter writer;
+
+ std::vector<std::string> lines;
+ lines.push_back("random line of output");
+ lines.push_back("another line of output");
+
+ writer.unfilteredOutput(level::user_info, context::undefined(), lines);
+ writer.unfilteredOutput(level::verbose, context::xml(), lines);
+
+ MockOutputListener other;
+ other.setLevelMask(level::all);
+
+ EXPECT_CALL(other, output(level::user_info, context::undefined(), lines));
+ EXPECT_CALL(other, output(level::verbose, context::xml(), lines));
+
+ writer.resendOutput(&other);
+ }
}
Modified: code/branches/testing/test/util/output/OutputListenerTest.cc
===================================================================
--- code/branches/testing/test/util/output/OutputListenerTest.cc 2013-03-03 19:25:53 UTC (rev 9534)
+++ code/branches/testing/test/util/output/OutputListenerTest.cc 2013-03-04 21:24:30 UTC (rev 9535)
@@ -312,7 +312,7 @@
EXPECT_TRUE(listener.acceptsOutput(level, context));
std::vector<std::string> lines;
- EXPECT_CALL(listener, output(level, ::testing::_, lines)).Times(1);
+ EXPECT_CALL(listener, output(level, context, lines)).Times(1);
listener.unfilteredOutput(level, context, lines);
}
@@ -329,7 +329,7 @@
EXPECT_FALSE(listener.acceptsOutput(level, context));
std::vector<std::string> lines;
- EXPECT_CALL(listener, output(level, ::testing::_, lines)).Times(0);
+ EXPECT_CALL(listener, output(level, context, lines)).Times(0);
listener.unfilteredOutput(level, context, lines);
}
More information about the Orxonox-commit
mailing list