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 { 00013 public: 00014 explicit Test(char const* testName, char const* suiteName = "DefaultSuite", char const* filename = "", int lineNumber = 0); 00015 virtual ~Test(); 00016 void Run(); 00017 00018 TestDetails const m_details; 00019 Test* next; 00020 mutable bool m_timeConstraintExempt; 00021 00022 static TestList& GetTestList(); 00023 00024 virtual void RunImpl() const; 00025 00026 private: 00027 Test(Test const&); 00028 Test& operator =(Test const&); 00029 }; 00030 00031 00032 } 00033 00034 #endif