00001 #ifndef UNITTEST_XMLTESTREPORTER_H
00002 #define UNITTEST_XMLTESTREPORTER_H
00003
00004 #include "DeferredTestReporter.h"
00005
00006 #include <iosfwd>
00007
00008 namespace UnitTest
00009 {
00010
00011 class XmlTestReporter : public DeferredTestReporter
00012 {
00013 public:
00014 explicit XmlTestReporter(std::ostream& ostream);
00015
00016 virtual void ReportSummary(int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed);
00017
00018 private:
00019 XmlTestReporter(XmlTestReporter const&);
00020 XmlTestReporter& operator=(XmlTestReporter const&);
00021
00022 void AddXmlElement(std::ostream& os, char const* encoding);
00023 void BeginResults(std::ostream& os, int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed);
00024 void EndResults(std::ostream& os);
00025 void BeginTest(std::ostream& os, DeferredTestResult const& result);
00026 void AddFailure(std::ostream& os, DeferredTestResult const& result);
00027 void EndTest(std::ostream& os, DeferredTestResult const& result);
00028
00029 std::ostream& m_ostream;
00030 };
00031
00032 }
00033
00034 #endif