Changeset 9649 for code/branches/core6/test/core/object/ListableTest.cc
- Timestamp:
- Aug 14, 2013, 6:42:28 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core6/test/core/object/ListableTest.cc
r9627 r9649 7 7 namespace 8 8 { 9 class Listable Test : public Listable9 class ListableClassTest : public Listable 10 10 { 11 11 public: 12 ListableTest() { RegisterRootObject(ListableTest); }12 ListableClassTest() { RegisterRootObject(ListableClassTest); } 13 13 }; 14 14 15 class ListableSubclassTest : public Listable Test15 class ListableSubclassTest : public ListableClassTest 16 16 { 17 17 public: … … 28 28 return false; 29 29 } 30 } 31 32 TEST(ListableTest, CanCreate) 33 { 34 ListableTest* test = new ListableTest(); 30 31 // Fixture 32 class ListableTest : public ::testing::Test 33 { 34 public: 35 virtual void SetUp() 36 { 37 Context::setRootContext(new Context(NULL)); 38 } 39 40 virtual void TearDown() 41 { 42 Context::setRootContext(NULL); 43 } 44 }; 45 } 46 47 TEST_F(ListableTest, CanCreate) 48 { 49 ListableClassTest* test = new ListableClassTest(); 35 50 ASSERT_TRUE(test != NULL); 36 51 delete test; 37 52 } 38 53 39 TEST (ListableTest, AddsToObjectList)40 { 41 Listable Test test;42 EXPECT_EQ(1u, ObjectList<Listable Test>::size());43 EXPECT_TRUE(objectListContains<Listable Test>(&test));44 } 45 46 TEST (ListableTest, AddsToAllObjectLists)47 { 48 ListableSubclassTest test; 49 EXPECT_EQ(1u, ObjectList<Listable Test>::size());50 EXPECT_TRUE(objectListContains<Listable Test>(&test));54 TEST_F(ListableTest, AddsToObjectList) 55 { 56 ListableClassTest test; 57 EXPECT_EQ(1u, ObjectList<ListableClassTest>::size()); 58 EXPECT_TRUE(objectListContains<ListableClassTest>(&test)); 59 } 60 61 TEST_F(ListableTest, AddsToAllObjectLists) 62 { 63 ListableSubclassTest test; 64 EXPECT_EQ(1u, ObjectList<ListableClassTest>::size()); 65 EXPECT_TRUE(objectListContains<ListableClassTest>(&test)); 51 66 EXPECT_EQ(1u, ObjectList<ListableSubclassTest>::size()); 52 67 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test)); 53 68 } 54 69 55 TEST (ListableTest, RemovesFromObjectList)56 { 57 EXPECT_EQ(0u, ObjectList<Listable Test>::size());58 { 59 Listable Test test;60 EXPECT_EQ(1u, ObjectList<Listable Test>::size());61 EXPECT_TRUE(objectListContains<Listable Test>(&test));70 TEST_F(ListableTest, RemovesFromObjectList) 71 { 72 EXPECT_EQ(0u, ObjectList<ListableClassTest>::size()); 73 { 74 ListableClassTest test; 75 EXPECT_EQ(1u, ObjectList<ListableClassTest>::size()); 76 EXPECT_TRUE(objectListContains<ListableClassTest>(&test)); 62 77 } 63 EXPECT_EQ(0u, ObjectList<Listable Test>::size());64 } 65 66 TEST (ListableTest, RemovesFromAllObjectLists)67 { 68 EXPECT_EQ(0u, ObjectList<Listable Test>::size());78 EXPECT_EQ(0u, ObjectList<ListableClassTest>::size()); 79 } 80 81 TEST_F(ListableTest, RemovesFromAllObjectLists) 82 { 83 EXPECT_EQ(0u, ObjectList<ListableClassTest>::size()); 69 84 EXPECT_EQ(0u, ObjectList<ListableSubclassTest>::size()); 70 85 { 71 86 ListableSubclassTest test; 72 EXPECT_EQ(1u, ObjectList<Listable Test>::size());73 EXPECT_TRUE(objectListContains<Listable Test>(&test));87 EXPECT_EQ(1u, ObjectList<ListableClassTest>::size()); 88 EXPECT_TRUE(objectListContains<ListableClassTest>(&test)); 74 89 EXPECT_EQ(1u, ObjectList<ListableSubclassTest>::size()); 75 90 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test)); 76 91 } 77 EXPECT_EQ(0u, ObjectList<Listable Test>::size());92 EXPECT_EQ(0u, ObjectList<ListableClassTest>::size()); 78 93 EXPECT_EQ(0u, ObjectList<ListableSubclassTest>::size()); 79 94 } 80 95 81 TEST (ListableTest, CanAddObjectToContext)96 TEST_F(ListableTest, CanAddObjectToContext) 82 97 { 83 98 Context context(NULL); … … 87 102 88 103 // object is in new context 89 EXPECT_EQ(1u, context.getObjectList<Listable Test>()->size());90 EXPECT_TRUE(objectListContains<Listable Test>(&test, &context));104 EXPECT_EQ(1u, context.getObjectList<ListableClassTest>()->size()); 105 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &context)); 91 106 EXPECT_EQ(1u, context.getObjectList<ListableSubclassTest>()->size()); 92 107 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &context)); 93 108 } 94 109 95 TEST (ListableTest, CanAddObjectToSubContext)110 TEST_F(ListableTest, CanAddObjectToSubContext) 96 111 { 97 112 Context baseContext(NULL); … … 102 117 103 118 // object is in both contexts 104 EXPECT_EQ(1u, baseContext.getObjectList<Listable Test>()->size());105 EXPECT_TRUE(objectListContains<Listable Test>(&test, &baseContext));119 EXPECT_EQ(1u, baseContext.getObjectList<ListableClassTest>()->size()); 120 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &baseContext)); 106 121 EXPECT_EQ(1u, baseContext.getObjectList<ListableSubclassTest>()->size()); 107 122 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &baseContext)); 108 123 109 EXPECT_EQ(1u, subContext.getObjectList<Listable Test>()->size());110 EXPECT_TRUE(objectListContains<Listable Test>(&test, &subContext));124 EXPECT_EQ(1u, subContext.getObjectList<ListableClassTest>()->size()); 125 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &subContext)); 111 126 EXPECT_EQ(1u, subContext.getObjectList<ListableSubclassTest>()->size()); 112 127 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &subContext)); 113 128 } 114 129 115 TEST (ListableTest, CanChangeContext)130 TEST_F(ListableTest, CanChangeContext) 116 131 { 117 132 Context* rootContext = Context::getRootContext(); … … 120 135 121 136 // object is in root context 122 EXPECT_EQ(1u, rootContext->getObjectList<Listable Test>()->size());123 EXPECT_TRUE(objectListContains<Listable Test>(&test, rootContext));137 EXPECT_EQ(1u, rootContext->getObjectList<ListableClassTest>()->size()); 138 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, rootContext)); 124 139 EXPECT_EQ(1u, rootContext->getObjectList<ListableSubclassTest>()->size()); 125 140 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, rootContext)); 126 141 127 142 // object is NOT in new context 128 EXPECT_EQ(0u, newContext.getObjectList<Listable Test>()->size());129 EXPECT_FALSE(objectListContains<Listable Test>(&test, &newContext));143 EXPECT_EQ(0u, newContext.getObjectList<ListableClassTest>()->size()); 144 EXPECT_FALSE(objectListContains<ListableClassTest>(&test, &newContext)); 130 145 EXPECT_EQ(0u, newContext.getObjectList<ListableSubclassTest>()->size()); 131 146 EXPECT_FALSE(objectListContains<ListableSubclassTest>(&test, &newContext)); … … 134 149 135 150 // object was removed from root context 136 EXPECT_EQ(0u, rootContext->getObjectList<Listable Test>()->size());137 EXPECT_FALSE(objectListContains<Listable Test>(&test, rootContext));151 EXPECT_EQ(0u, rootContext->getObjectList<ListableClassTest>()->size()); 152 EXPECT_FALSE(objectListContains<ListableClassTest>(&test, rootContext)); 138 153 EXPECT_EQ(0u, rootContext->getObjectList<ListableSubclassTest>()->size()); 139 154 EXPECT_FALSE(objectListContains<ListableSubclassTest>(&test, rootContext)); 140 155 141 156 // object is now in new context 142 EXPECT_EQ(1u, newContext.getObjectList<Listable Test>()->size());143 EXPECT_TRUE(objectListContains<Listable Test>(&test, &newContext));157 EXPECT_EQ(1u, newContext.getObjectList<ListableClassTest>()->size()); 158 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &newContext)); 144 159 EXPECT_EQ(1u, newContext.getObjectList<ListableSubclassTest>()->size()); 145 160 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &newContext)); 146 161 } 147 162 148 TEST (ListableTest, CanChangeToSubContext)163 TEST_F(ListableTest, CanChangeToSubContext) 149 164 { 150 165 Context* rootContext = Context::getRootContext(); … … 153 168 154 169 // object is in root context 155 EXPECT_EQ(1u, rootContext->getObjectList<Listable Test>()->size());156 EXPECT_TRUE(objectListContains<Listable Test>(&test, rootContext));170 EXPECT_EQ(1u, rootContext->getObjectList<ListableClassTest>()->size()); 171 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, rootContext)); 157 172 EXPECT_EQ(1u, rootContext->getObjectList<ListableSubclassTest>()->size()); 158 173 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, rootContext)); 159 174 160 175 // object is NOT in sub context 161 EXPECT_EQ(0u, subContext.getObjectList<Listable Test>()->size());162 EXPECT_FALSE(objectListContains<Listable Test>(&test, &subContext));176 EXPECT_EQ(0u, subContext.getObjectList<ListableClassTest>()->size()); 177 EXPECT_FALSE(objectListContains<ListableClassTest>(&test, &subContext)); 163 178 EXPECT_EQ(0u, subContext.getObjectList<ListableSubclassTest>()->size()); 164 179 EXPECT_FALSE(objectListContains<ListableSubclassTest>(&test, &subContext)); … … 167 182 168 183 // object is still in root context 169 EXPECT_EQ(1u, rootContext->getObjectList<Listable Test>()->size());170 EXPECT_TRUE(objectListContains<Listable Test>(&test, rootContext));184 EXPECT_EQ(1u, rootContext->getObjectList<ListableClassTest>()->size()); 185 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, rootContext)); 171 186 EXPECT_EQ(1u, rootContext->getObjectList<ListableSubclassTest>()->size()); 172 187 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, rootContext)); 173 188 174 189 // object is now also in sub context 175 EXPECT_EQ(1u, subContext.getObjectList<Listable Test>()->size());176 EXPECT_TRUE(objectListContains<Listable Test>(&test, &subContext));190 EXPECT_EQ(1u, subContext.getObjectList<ListableClassTest>()->size()); 191 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &subContext)); 177 192 EXPECT_EQ(1u, subContext.getObjectList<ListableSubclassTest>()->size()); 178 193 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &subContext)); 179 194 } 180 195 181 TEST (ListableTest, CanChangeFromSubcontextToSubContext)196 TEST_F(ListableTest, CanChangeFromSubcontextToSubContext) 182 197 { 183 198 Context* rootContext = Context::getRootContext(); … … 189 204 190 205 // object is in root context 191 EXPECT_EQ(1u, rootContext->getObjectList<Listable Test>()->size());192 EXPECT_TRUE(objectListContains<Listable Test>(&test, rootContext));206 EXPECT_EQ(1u, rootContext->getObjectList<ListableClassTest>()->size()); 207 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, rootContext)); 193 208 EXPECT_EQ(1u, rootContext->getObjectList<ListableSubclassTest>()->size()); 194 209 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, rootContext)); 195 210 196 211 // object is also in sub context 1 197 EXPECT_EQ(1u, subContext1.getObjectList<Listable Test>()->size());198 EXPECT_TRUE(objectListContains<Listable Test>(&test, &subContext1));212 EXPECT_EQ(1u, subContext1.getObjectList<ListableClassTest>()->size()); 213 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &subContext1)); 199 214 EXPECT_EQ(1u, subContext1.getObjectList<ListableSubclassTest>()->size()); 200 215 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &subContext1)); 201 216 202 217 // object is NOT in sub context 2 203 EXPECT_EQ(0u, subContext2.getObjectList<Listable Test>()->size());204 EXPECT_FALSE(objectListContains<Listable Test>(&test, &subContext2));218 EXPECT_EQ(0u, subContext2.getObjectList<ListableClassTest>()->size()); 219 EXPECT_FALSE(objectListContains<ListableClassTest>(&test, &subContext2)); 205 220 EXPECT_EQ(0u, subContext2.getObjectList<ListableSubclassTest>()->size()); 206 221 EXPECT_FALSE(objectListContains<ListableSubclassTest>(&test, &subContext2)); … … 209 224 210 225 // object is still in root context 211 EXPECT_EQ(1u, rootContext->getObjectList<Listable Test>()->size());212 EXPECT_TRUE(objectListContains<Listable Test>(&test, rootContext));226 EXPECT_EQ(1u, rootContext->getObjectList<ListableClassTest>()->size()); 227 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, rootContext)); 213 228 EXPECT_EQ(1u, rootContext->getObjectList<ListableSubclassTest>()->size()); 214 229 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, rootContext)); 215 230 216 231 // object was removed from sub context 1 217 EXPECT_EQ(0u, subContext1.getObjectList<Listable Test>()->size());218 EXPECT_FALSE(objectListContains<Listable Test>(&test, &subContext1));232 EXPECT_EQ(0u, subContext1.getObjectList<ListableClassTest>()->size()); 233 EXPECT_FALSE(objectListContains<ListableClassTest>(&test, &subContext1)); 219 234 EXPECT_EQ(0u, subContext1.getObjectList<ListableSubclassTest>()->size()); 220 235 EXPECT_FALSE(objectListContains<ListableSubclassTest>(&test, &subContext1)); 221 236 222 237 // object is now in sub context 2 223 EXPECT_EQ(1u, subContext2.getObjectList<Listable Test>()->size());224 EXPECT_TRUE(objectListContains<Listable Test>(&test, &subContext2));238 EXPECT_EQ(1u, subContext2.getObjectList<ListableClassTest>()->size()); 239 EXPECT_TRUE(objectListContains<ListableClassTest>(&test, &subContext2)); 225 240 EXPECT_EQ(1u, subContext2.getObjectList<ListableSubclassTest>()->size()); 226 241 EXPECT_TRUE(objectListContains<ListableSubclassTest>(&test, &subContext2));
Note: See TracChangeset
for help on using the changeset viewer.