28 #ifndef PT_UNIT_TESTSUITE_H
29 #define PT_UNIT_TESTSUITE_H
31 #include <Pt/Unit/Api.h>
32 #include <Pt/Unit/Test.h>
33 #include <Pt/Unit/TestFixture.h>
34 #include <Pt/Unit/TestMethod.h>
35 #include <Pt/Unit/TestProtocol.h>
40 class SerializationInfo;
94 test.setArgs(args, argCount);
165 template <
class ParentT>
166 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)() )
168 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT>(this->name() +
"::" + name, parent, method);
169 this->registerTest(test);
172 template <
class ParentT,
typename A1>
173 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)(A1) )
175 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT, A1>(this->name() +
"::" + name, parent, method);
176 this->registerTest(test);
179 template <
class ParentT,
typename A1,
typename A2>
180 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)(A1, A2) )
182 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT, A1, A2>(this->name() +
"::" + name, parent, method);
183 this->registerTest(test);
186 template <
class ParentT,
typename A1,
typename A2,
typename A3>
187 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)(A1, A2, A3) )
189 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT, A1, A2, A3>(this->name() +
"::" + name, parent, method);
190 this->registerTest(test);
193 template <
class ParentT,
typename A1,
typename A2,
typename A3,
typename A4>
194 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)(A1, A2, A3, A4) )
196 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT, A1, A2, A3, A4>(this->name() +
"::" + name, parent, method);
197 this->registerTest(test);
200 template <
class ParentT,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
201 void registerMethod(
const std::string& name, ParentT& parent,
void (ParentT::*method)(A1, A2, A3, A4, A5) )
203 Pt::Unit::TestMethod* test =
new BasicTestMethod<ParentT, A1, A2, A3, A4, A5>(this->name() +
"::" + name, parent, method);
204 this->registerTest(test);
208 void registerTest(TestMethod* test);
210 TestMethod* findTestMethod(
const std::string& name);
214 TestProtocol* _protocol;
216 std::multimap<std::string, TestMethod*> _tests;
219 static TestProtocol defaultProtocol;