15 #include <utl/ObjectRegistrar.h>
16 #include <utl/ObjectFactory.h>
18 #include <tst/Verify.h>
21 #include <cppunit/extensions/HelperMacros.h>
29 class InheritObjectBase {
31 virtual ~InheritObjectBase() { }
32 virtual int GetId() = 0;
39 class InheritObject :
public InheritObjectBase,
42 int GetId() {
return GetRegistrationId(); }
44 static typename InheritObjectFactory::IdentifierType
45 GetRegistrationId() {
return id; }
47 static InheritObjectBase* Create()
48 {
return new InheritObject; }
51 template class InheritObject<1>;
52 template class InheritObject<3>;
55 class MemberObjectBase {
57 virtual ~MemberObjectBase() {}
58 virtual int GetId() = 0;
65 class MemberObject :
public MemberObjectBase {
67 int GetId() {
return GetRegistrationId(); }
69 static typename MemberObjectFactory::IdentifierType
70 GetRegistrationId() {
return id; }
72 static MemberObjectBase* Create()
73 {
return new MemberObject; }
78 template class MemberObject<1>;
79 template class MemberObject<3>;
88 :
public CppUnit::TestFixture
91 CPPUNIT_TEST(testCreationMember);
92 CPPUNIT_TEST(testCreationInherit);
93 CPPUNIT_TEST(testCreationExternal);
96 CPPUNIT_TEST_SUITE_END();
110 CPPUNIT_ASSERT(Verify<Equal>(InheritObjectFactory::GetNumberOfCreators(),
113 InheritObjectBase*
const pnull = 0;
114 InheritObjectBase* p1 = InheritObjectFactory::Create(1);
122 CPPUNIT_ASSERT(Verify<Equal>(MemberObjectFactory::GetNumberOfCreators(),
125 MemberObjectBase*
const pnull = 0;
126 MemberObjectBase* p1 = MemberObjectFactory::Create(1);
134 CPPUNIT_ASSERT(Verify<Equal>(ExternalObjectFactory::GetNumberOfCreators(),
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
void testCreationMember()
bool Verify(const Predicate &pred, const T &lhs, const T &rhs)
Test condition by evaluating a predicate and print on failure.
void testCreationInherit()
Class for the automatic registration of an object.
void testCreationExternal()
Template for object factory.