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