00001 #ifndef UNITTEST_DEFERREDTESTREPORTER_H
00002 #define UNITTEST_DEFERREDTESTREPORTER_H
00003 
00004 #include "TestReporter.h"
00005 #include "DeferredTestResult.h"
00006 #include "Config.h"
00007 
00008 #include <vector>
00009 
00010 namespace UnitTest
00011 {
00012 
00013 class DeferredTestReporter : public TestReporter
00014 {
00015 public:
00016     virtual void ReportTestStart(TestDetails const& details);
00017     virtual void ReportFailure(TestDetails const& details, char const* failure);
00018     virtual void ReportTestFinish(TestDetails const& details, float secondsElapsed);
00019 
00020     typedef std::vector< DeferredTestResult > DeferredTestResultList;
00021     DeferredTestResultList& GetResults();
00022 
00023 private:
00024     DeferredTestResultList m_results;
00025 };
00026 
00027 }
00028 
00029 #endif