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 class XmlTestReporter : public DeferredTestReporter {
00011 public:
00012 explicit XmlTestReporter ( std::ostream& ostream );
00013
00014 virtual void ReportSummary ( int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed );
00015
00016 private:
00017 XmlTestReporter ( XmlTestReporter const& );
00018 XmlTestReporter& operator= ( XmlTestReporter const& );
00019
00020 void AddXmlElement ( std::ostream& os, char const* encoding );
00021 void BeginResults ( std::ostream& os, int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed );
00022 void EndResults ( std::ostream& os );
00023 void BeginTest ( std::ostream& os, DeferredTestResult const& result );
00024 void AddFailure ( std::ostream& os, DeferredTestResult const& result );
00025 void EndTest ( std::ostream& os, DeferredTestResult const& result );
00026
00027 std::ostream& m_ostream;
00028 };
00029
00030 }
00031
00032 #endif