- Timestamp:
- Aug 13, 2013, 11:35:26 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core6/test/core/class/IdentifierExternalClassHierarchyTest.cc
r9640 r9646 8 8 { 9 9 class Interface : virtual public Identifiable 10 { public: Interface() { RegisterRootObject(Interface); } }; 10 { 11 public: 12 Interface() 13 { 14 RegisterRootObject(Interface); 15 } 16 17 virtual void test() = 0; 18 }; 11 19 12 20 class BaseClass : virtual public Identifiable 13 { public: BaseClass() { RegisterRootObject(BaseClass); } }; 21 { 22 public: 23 BaseClass() 24 { 25 RegisterRootObject(BaseClass); 26 } 27 }; 14 28 15 29 class RealClass : public BaseClass, public Interface 16 { public: RealClass() { RegisterObject(RealClass); } }; 30 { 31 public: 32 RealClass() 33 { 34 RegisterObject(RealClass); 35 } 36 37 virtual void test() {} 38 }; 17 39 18 40 // Fixture … … 22 44 virtual void SetUp() 23 45 { 24 registerClass("Interface", new ClassFactoryNoArgs<Interface>());46 registerClass("Interface", static_cast<ClassFactory<Interface>*>(NULL), false).inheritsFrom(Class(Identifiable)); 25 47 registerClass("BaseClass", new ClassFactoryNoArgs<BaseClass>()); 26 48 registerClass("RealClass", new ClassFactoryNoArgs<RealClass>()); … … 34 56 } 35 57 }; 58 59 bool contains(const std::set<const Identifier*> identifiers, Identifier* identifier) 60 { 61 return identifiers.find(identifier) != identifiers.end(); 62 } 36 63 } 37 64 … … 59 86 Identifier* identifier = Class(Interface); 60 87 88 EXPECT_EQ(1u, identifier->getDirectChildren().size()); 89 EXPECT_TRUE(contains(identifier->getDirectChildren(), Class(RealClass))); 90 61 91 EXPECT_EQ(1u, identifier->getChildren().size()); 62 EXPECT_EQ(0u, identifier->getParents().size()); 92 EXPECT_TRUE(contains(identifier->getChildren(), Class(RealClass))); 93 94 EXPECT_EQ(1u, identifier->getDirectParents().size()); 95 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(Identifiable))); 96 97 EXPECT_EQ(1u, identifier->getParents().size()); 98 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 63 99 } 64 100 … … 67 103 Identifier* identifier = Class(BaseClass); 68 104 105 EXPECT_EQ(1u, identifier->getDirectChildren().size()); 106 EXPECT_TRUE(contains(identifier->getDirectChildren(), Class(RealClass))); 107 69 108 EXPECT_EQ(1u, identifier->getChildren().size()); 70 EXPECT_EQ(0u, identifier->getParents().size()); 109 EXPECT_TRUE(contains(identifier->getChildren(), Class(RealClass))); 110 111 EXPECT_EQ(1u, identifier->getDirectParents().size()); 112 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(Identifiable))); 113 114 EXPECT_EQ(1u, identifier->getParents().size()); 115 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 71 116 } 72 117 … … 75 120 Identifier* identifier = Class(RealClass); 76 121 122 EXPECT_EQ(0u, identifier->getDirectChildren().size()); 123 77 124 EXPECT_EQ(0u, identifier->getChildren().size()); 78 EXPECT_EQ(2u, identifier->getParents().size()); 125 126 EXPECT_EQ(2u, identifier->getDirectParents().size()); 127 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(Interface))); 128 EXPECT_TRUE(contains(identifier->getDirectParents(), Class(BaseClass))); 129 130 EXPECT_EQ(3u, identifier->getParents().size()); 131 EXPECT_TRUE(contains(identifier->getParents(), Class(Identifiable))); 132 EXPECT_TRUE(contains(identifier->getParents(), Class(Interface))); 133 EXPECT_TRUE(contains(identifier->getParents(), Class(BaseClass))); 79 134 } 80 135 }
Note: See TracChangeset
for help on using the changeset viewer.