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