00001 #ifndef UNITTEST_TEST_H 00002 #define UNITTEST_TEST_H 00003 00004 #include "TestDetails.h" 00005 00006 namespace UnitTest { 00007 00008 class TestResults; 00009 class TestList; 00010 00011 class Test { 00012 public: 00013 explicit Test ( char const* testName, char const* suiteName = "DefaultSuite", char const* filename = "", int lineNumber = 0 ); 00014 virtual ~Test(); 00015 void Run(); 00016 00017 TestDetails const m_details; 00018 Test* next; 00019 mutable bool m_timeConstraintExempt; 00020 00021 static TestList& GetTestList(); 00022 00023 virtual void RunImpl() const; 00024 00025 private: 00026 Test ( Test const& ); 00027 Test& operator = ( Test const& ); 00028 }; 00029 00030 00031 } 00032 00033 #endif