28 #ifndef D_TestTestingFixture_H 29 #define D_TestTestingFixture_H 31 #include "TestRegistry.h" 32 #include "TestOutput.h" 34 class TestTestingFixture
40 output_ =
new StringBufferTestOutput();
41 result_ =
new TestResult(*output_);
42 genTest_ =
new ExecFunctionTestShell();
43 registry_ =
new TestRegistry();
45 registry_->setCurrentRegistry(registry_);
46 registry_->addTest(genTest_);
48 lineOfCodeExecutedAfterCheck =
false;
51 virtual ~TestTestingFixture()
53 registry_->setCurrentRegistry(0);
60 void addTest(UtestShell * test)
62 registry_->addTest(test);
65 void setTestFunction(
void(*testFunction)())
67 genTest_->testFunction_ = testFunction;
70 void setSetup(
void(*setupFunction)())
72 genTest_->setup_ = setupFunction;
75 void setTeardown(
void(*teardownFunction)())
77 genTest_->teardown_ = teardownFunction;
80 void runTestWithMethod(
void(*method)())
82 setTestFunction(method);
88 registry_->runAllTests(*result_);
93 return result_->getFailureCount();
98 return result_->getCheckCount();
103 return result_->getIgnoredCount();
108 return genTest_->hasFailed();
111 void assertPrintContains(
const SimpleString& contains)
113 assertPrintContains(getOutput(), contains);
116 const SimpleString& getOutput()
118 return output_->getOutput();
121 static void assertPrintContains(
const SimpleString& output,
const SimpleString& contains)
123 STRCMP_CONTAINS(contains.asCharString(), output.asCharString());
128 return result_->getRunCount();
131 void checkTestFailsWithProperTestLocation(
const char* text,
const char* file,
int line);
133 static void lineExecutedAfterCheck();
134 static bool lineOfCodeExecutedAfterCheck;
136 TestRegistry* registry_;
137 ExecFunctionTestShell* genTest_;
138 StringBufferTestOutput* output_;
139 TestResult * result_;
142 class SetBooleanOnDestructorCall
146 SetBooleanOnDestructorCall(
bool& booleanToSet) : booleanToSet_(booleanToSet)
150 virtual ~SetBooleanOnDestructorCall()
152 booleanToSet_ =
true;