1 #ifndef UNITTEST_XMLTESTREPORTER_H
2 #define UNITTEST_XMLTESTREPORTER_H
3 
4 #include "Config.h"
5 #ifndef UNITTEST_NO_DEFERRED_REPORTER
6 
7 #include "DeferredTestReporter.h"
8 
9 #include <iosfwd>
10 
11 namespace UnitTest
12 {
13 
14 class UNITTEST_LINKAGE XmlTestReporter : public DeferredTestReporter
15 {
16 public:
17     explicit XmlTestReporter(std::ostream& ostream);
18 
19     virtual void ReportSummary(int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed);
20 
21 private:
22     XmlTestReporter(XmlTestReporter const&);
23     XmlTestReporter& operator=(XmlTestReporter const&);
24 
25     void AddXmlElement(std::ostream& os, char const* encoding);
26     void BeginResults(std::ostream& os, int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed);
27     void EndResults(std::ostream& os);
28     void BeginTest(std::ostream& os, DeferredTestResult const& result);
29     void AddFailure(std::ostream& os, DeferredTestResult const& result);
30     void EndTest(std::ostream& os, DeferredTestResult const& result);
31 
32     std::ostream& m_ostream;
33 };
34 
35 }
36 
37 #endif
38 #endif
39