- Timestamp:
- Aug 13, 2013, 11:35:26 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core6/test/core/class/IdentifierSimpleClassHierarchyTest.cc
r9640 r9646 10 10 { 11 11 class Interface : public OrxonoxInterface 12 { public: Interface() { RegisterRootObject(Interface); } }; 12 { 13 public: 14 Interface() 15 { 16 RegisterRootObject(Interface); 17 } 18 19 virtual void test() = 0; 20 }; 13 21 14 22 class BaseClass : public OrxonoxClass 15 { public: BaseClass() { RegisterRootObject(BaseClass); } }; 23 { 24 public: 25 BaseClass() 26 { 27 RegisterRootObject(BaseClass); 28 } 29 }; 16 30 17 31 class RealClass : public BaseClass, public Interface 18 { public: RealClass() { RegisterObject(RealClass); } }; 32 { 33 public: 34 RealClass() 35 { 36 RegisterObject(RealClass); 37 } 38 39 virtual void test() {} 40 }; 19 41 20 42 // Fixture … … 24 46 virtual void SetUp() 25 47 { 26 registerClass("Interface", new ClassFactoryNoArgs<Interface>()); 48 registerClass("OrxonoxInterface", new ClassFactoryNoArgs<OrxonoxInterface>()); 49 registerClass("OrxonoxClass", new ClassFactoryNoArgs<OrxonoxClass>()); 50 registerClass("Interface", static_cast<ClassFactory<Interface>*>(NULL), false).inheritsFrom(Class(OrxonoxInterface)); 27 51 registerClass("BaseClass", new ClassFactoryNoArgs<BaseClass>()); 28 52 registerClass("RealClass", new ClassFactoryNoArgs<RealClass>()); … … 36 60 } 37 61 }; 62 63 bool contains(const std::set<const Identifier*> identifiers, Identifier* identifier) 64 { 65 return identifiers.find(identifier) != identifiers.end(); 66 } 38 67 } 39 68 … … 61 90 Identifier* identifier = Class(Interface); 62 91 92 EXPECT_EQ(1u, identifier->getDirectChildren().size()); 93 EXPECT_TRUE(contains(identifier->getDirectChildren(), Class(RealClass))); 94 63 95 EXPECT_EQ(1u, identifier->getChildren().size()); 64 EXPECT_EQ(0u, identifier->getParents().size()); 96 EXPECT_TRUE(contains(identifier->getChildren(), Class(RealClass))); 97 98 EXPECT_EQ(1u, identifier->getDirectParents().size()); 99 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(OrxonoxInterface))); 100 101 EXPECT_EQ(2u, identifier->getParents().size()); 102 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 103 EXPECT_TRUE(contains(identifier->getParents(), Class(OrxonoxInterface))); 65 104 } 66 105 … … 69 108 Identifier* identifier = Class(BaseClass); 70 109 110 EXPECT_EQ(1u, identifier->getDirectChildren().size()); 111 EXPECT_TRUE(contains(identifier->getDirectChildren(), Class(RealClass))); 112 71 113 EXPECT_EQ(1u, identifier->getChildren().size()); 72 EXPECT_EQ(0u, identifier->getParents().size()); 114 EXPECT_TRUE(contains(identifier->getChildren(), Class(RealClass))); 115 116 EXPECT_EQ(1u, identifier->getDirectParents().size()); 117 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(OrxonoxClass))); 118 119 EXPECT_EQ(2u, identifier->getParents().size()); 120 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 121 EXPECT_TRUE(contains(identifier->getParents(), Class(OrxonoxClass))); 73 122 } 74 123 … … 77 126 Identifier* identifier = Class(RealClass); 78 127 128 EXPECT_EQ(0u, identifier->getDirectChildren().size()); 129 79 130 EXPECT_EQ(0u, identifier->getChildren().size()); 80 EXPECT_EQ(2u, identifier->getParents().size()); 131 132 EXPECT_EQ(2u, identifier->getDirectParents().size()); 133 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(Interface))); 134 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(BaseClass))); 135 136 EXPECT_EQ(5u, identifier->getParents().size()); 137 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 138 EXPECT_TRUE(contains(identifier->getParents(), Class(OrxonoxInterface))); 139 EXPECT_TRUE(contains(identifier->getParents(), Class(OrxonoxClass))); 140 EXPECT_TRUE(contains(identifier->getParents(), Class(Interface))); 141 EXPECT_TRUE(contains(identifier->getParents(), Class(BaseClass))); 81 142 } 82 143 }
Note: See TracChangeset
for help on using the changeset viewer.