Changeset 1072 for branches/Carsten_PtrWork2/Source/System/FieldContainer/Base/OSGReferenceCountTest.cpp
- Timestamp:
- 04/02/08 14:18:07 (8 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/Carsten_PtrWork2/Source/System/FieldContainer/Base/OSGReferenceCountTest.cpp
r1070 r1072 70 70 OSG::UInt32 gi1 = grp1->getId(); 71 71 72 CHECK_EQUAL(0, nrp0->getRefCount() ); 73 CHECK_EQUAL(1, nrp0->getExternalRefCount()); 72 CHECK_EQUAL(1, nrp0->getRefCount() ); 74 73 CHECK_EQUAL(0, nrp0->getWeakRefCount() ); 75 74 76 CHECK_EQUAL(0, nrp1->getRefCount() ); 77 CHECK_EQUAL(1, nrp1->getExternalRefCount()); 75 CHECK_EQUAL(1, nrp1->getRefCount() ); 78 76 CHECK_EQUAL(0, nrp1->getWeakRefCount() ); 79 77 80 CHECK_EQUAL(0, grp0->getRefCount() ); 81 CHECK_EQUAL(1, grp0->getExternalRefCount()); 78 CHECK_EQUAL(1, grp0->getRefCount() ); 82 79 CHECK_EQUAL(0, grp0->getWeakRefCount() ); 83 80 84 CHECK_EQUAL(0, grp1->getRefCount() ); 85 CHECK_EQUAL(1, grp1->getExternalRefCount()); 81 CHECK_EQUAL(1, grp1->getRefCount() ); 86 82 CHECK_EQUAL(0, grp1->getWeakRefCount() ); 87 88 OSG::commitChanges();89 83 90 84 // link nodes … … 94 88 nrp1->setCore(grp1); 95 89 96 CHECK_EQUAL(0, nrp0->getRefCount() ); 97 CHECK_EQUAL(1, nrp0->getExternalRefCount()); 90 OSG::commitChanges(); 91 92 CHECK_EQUAL(1, nrp0->getRefCount() ); 98 93 CHECK_EQUAL(2, nrp0->getWeakRefCount() ); 99 94 100 CHECK_EQUAL(1, nrp1->getRefCount() ); 101 CHECK_EQUAL(1, nrp1->getExternalRefCount()); 95 CHECK_EQUAL(2, nrp1->getRefCount() ); 102 96 CHECK_EQUAL(1, nrp1->getWeakRefCount() ); 103 97 104 CHECK_EQUAL(1, grp0->getRefCount() ); 105 CHECK_EQUAL(1, grp0->getExternalRefCount()); 98 CHECK_EQUAL(2, grp0->getRefCount() ); 106 99 CHECK_EQUAL(0, grp0->getWeakRefCount() ); 107 100 108 CHECK_EQUAL(1, grp1->getRefCount() ); 109 CHECK_EQUAL(1, grp1->getExternalRefCount()); 101 CHECK_EQUAL(2, grp1->getRefCount() ); 110 102 CHECK_EQUAL(0, grp1->getWeakRefCount() ); 111 103 … … 124 116 grp0 = NullFC; 125 117 grp1 = NullFC; 118 119 OSG::commitChanges(); 126 120 127 121 // all containers must be gone … … 135 129 TEST(RefPtrReuse) 136 130 { 131 std::cout << "TEST::RefPtrReuse START" << std::endl; 132 137 133 // Still basic case, but use fewer ref ptrs 138 134 // … … 158 154 nrp1->setCore(grp); 159 155 156 CHECK_EQUAL(2, np1->getRefCount() ); 157 CHECK_EQUAL(1, np1->getWeakRefCount() ); 158 160 159 nrp1 = OSG::Node::create(); 161 160 … … 166 165 nrp1->setCore (grp ); 167 166 168 CHECK_EQUAL(0, np0->getRefCount() ); 169 CHECK_EQUAL(1, np0->getExternalRefCount()); 167 CHECK_EQUAL(1, np0->getRefCount() ); 170 168 CHECK_EQUAL(3, np0->getWeakRefCount() ); 171 169 172 170 CHECK_EQUAL(1, np1->getRefCount() ); 173 CHECK_EQUAL(0, np1->getExternalRefCount());174 171 CHECK_EQUAL(1, np1->getWeakRefCount() ); 175 172 176 CHECK_EQUAL(1, np2->getRefCount() ); 177 CHECK_EQUAL(1, np2->getExternalRefCount()); 173 CHECK_EQUAL(2, np2->getRefCount() ); 178 174 CHECK_EQUAL(1, np2->getWeakRefCount() ); 179 175 180 CHECK_EQUAL(3, gp0->getRefCount() ); 181 CHECK_EQUAL(1, gp0->getExternalRefCount()); 176 CHECK_EQUAL(4, gp0->getRefCount() ); 182 177 CHECK_EQUAL(0, gp0->getWeakRefCount() ); 183 178 … … 187 182 grp = NullFC; 188 183 189 std::cerr << "nrp0->getRefCount() " << nrp0->getRefCount() 190 << "\nnrp0->getExternalRefCount() " << nrp0->getExternalRefCount() 191 << "\nnrp0->getWeakRefCount() " << nrp0->getWeakRefCount() 192 << std::endl; 184 OSG::commitChanges(); 193 185 194 186 // all containers must still exist … … 199 191 200 192 nrp0 = NullFC; 201 202 std::cerr << "gp0->getRefCount() " << gp0->getRefCount() 203 << "\ngp0->getExternalRefCount() " << gp0->getExternalRefCount() 204 << "\ngp0->getWeakRefCount() " << gp0->getWeakRefCount() 205 << std::endl; 206 std::cerr << "np1->getRefCount() " << np1->getRefCount() 207 << "\nnp1->getExternalRefCount() " << np1->getExternalRefCount() 208 << "\nnp1->getWeakRefCount() " << np1->getWeakRefCount() 209 << std::endl; 193 194 OSG::commitChanges(); 210 195 211 196 // all containers must be gone … … 215 200 CHECK_EQUAL(OSG::FieldContainerPtr(NullFC), OSG::FieldContainerFactory::the()->getContainer(ni2)); 216 201 202 std::cout << "TEST::RefPtrReuse STOP" << std::endl; 217 203 } // RefPtrReuse 218 204 … … 239 225 OSG::UInt32 gi0 = grp0->getId(); 240 226 241 CHECK_EQUAL(0, nrp0->getRefCount() ); 242 CHECK_EQUAL(1, nrp0->getExternalRefCount()); 227 CHECK_EQUAL(1, nrp0->getRefCount() ); 243 228 CHECK_EQUAL(0, nrp0->getWeakRefCount() ); 244 229 245 CHECK_EQUAL(0, nrp1->getRefCount() ); 246 CHECK_EQUAL(1, nrp1->getExternalRefCount()); 230 CHECK_EQUAL(1, nrp1->getRefCount() ); 247 231 CHECK_EQUAL(0, nrp1->getWeakRefCount() ); 248 232 249 CHECK_EQUAL(0, grp0->getRefCount() ); 250 CHECK_EQUAL(1, grp0->getExternalRefCount()); 233 CHECK_EQUAL(1, grp0->getRefCount() ); 251 234 CHECK_EQUAL(0, grp0->getWeakRefCount() ); 252 235 … … 257 240 nrp0->addChild(nrp1); 258 241 259 CHECK_EQUAL(0, np0->getRefCount() ); 260 CHECK_EQUAL(1, np0->getExternalRefCount()); 242 CHECK_EQUAL(1, np0->getRefCount() ); 261 243 CHECK_EQUAL(1, np0->getWeakRefCount() ); 262 244 263 CHECK_EQUAL(1, np1->getRefCount() ); 264 CHECK_EQUAL(1, np1->getExternalRefCount()); 245 CHECK_EQUAL(2, np1->getRefCount() ); 265 246 CHECK_EQUAL(0, np1->getWeakRefCount() ); 266 247 … … 274 255 nrp0->setCore(gp0); 275 256 276 CHECK_EQUAL(0, np0->getRefCount() ); 277 CHECK_EQUAL(1, np0->getExternalRefCount()); 257 CHECK_EQUAL(1, np0->getRefCount() ); 278 258 CHECK_EQUAL(2, np0->getWeakRefCount() ); 279 259 280 CHECK_EQUAL(1, gp0->getRefCount() ); 281 CHECK_EQUAL(1, gp0->getExternalRefCount()); 260 CHECK_EQUAL(2, gp0->getRefCount() ); 282 261 CHECK_EQUAL(0, gp0->getWeakRefCount() ); 283 262 … … 291 270 nrp1->setCore(gp0); 292 271 293 CHECK_EQUAL(1, np1->getRefCount() ); 294 CHECK_EQUAL(1, np1->getExternalRefCount()); 272 CHECK_EQUAL(2, np1->getRefCount() ); 295 273 CHECK_EQUAL(1, np1->getWeakRefCount() ); 296 274 297 CHECK_EQUAL(2, gp0->getRefCount() ); 298 CHECK_EQUAL(1, gp0->getExternalRefCount()); 275 CHECK_EQUAL(3, gp0->getRefCount() ); 299 276 CHECK_EQUAL(0, gp0->getWeakRefCount() ); 300 277 … … 307 284 308 285 grp0 = NullFC; 286 287 OSG::commitChanges(); 309 288 310 289 // all containers must still exist … … 313 292 CHECK_EQUAL(np1, OSG::FieldContainerFactory::the()->getContainer(ni1)); 314 293 CHECK_EQUAL(2, gp0->getRefCount() ); 315 CHECK_EQUAL(0, gp0->getExternalRefCount());316 294 CHECK_EQUAL(0, gp0->getWeakRefCount() ); 317 295 318 296 nrp1 = NullFC; 297 298 OSG::commitChanges(); 319 299 320 300 // all containers must still exist … … 323 303 CHECK_EQUAL(np1, OSG::FieldContainerFactory::the()->getContainer(ni1)); 324 304 CHECK_EQUAL(2, gp0->getRefCount() ); 325 CHECK_EQUAL(0, gp0->getExternalRefCount());326 305 CHECK_EQUAL(0, gp0->getWeakRefCount() ); 327 306 CHECK_EQUAL(1, np1->getRefCount() ); 328 CHECK_EQUAL(0, np1->getExternalRefCount());329 307 CHECK_EQUAL(1, np1->getWeakRefCount() ); 330 308 331 309 nrp0 = NullFC; 310 311 OSG::commitChanges(); 332 312 333 313 // all containers must be gone … … 382 362 nrp3->setCore(grp0); 383 363 384 CHECK_EQUAL(0, nrp0->getRefCount() ); 385 CHECK_EQUAL(1, nrp0->getExternalRefCount()); 364 CHECK_EQUAL(1, nrp0->getRefCount() ); 386 365 CHECK_EQUAL(3, nrp0->getWeakRefCount() ); 387 366 388 CHECK_EQUAL(1, nrp1->getRefCount() ); 389 CHECK_EQUAL(1, nrp1->getExternalRefCount()); 367 CHECK_EQUAL(2, nrp1->getRefCount() ); 390 368 CHECK_EQUAL(2, nrp1->getWeakRefCount() ); 391 369 392 CHECK_EQUAL(1, nrp2->getRefCount() ); 393 CHECK_EQUAL(1, nrp2->getExternalRefCount()); 370 CHECK_EQUAL(2, nrp2->getRefCount() ); 394 371 CHECK_EQUAL(1, nrp2->getWeakRefCount() ); 395 372 396 CHECK_EQUAL(1, nrp3->getRefCount() ); 397 CHECK_EQUAL(1, nrp3->getExternalRefCount()); 373 CHECK_EQUAL(2, nrp3->getRefCount() ); 398 374 CHECK_EQUAL(1, nrp3->getWeakRefCount() ); 399 375 400 CHECK_EQUAL(2, grp0->getRefCount() ); 401 CHECK_EQUAL(1, grp0->getExternalRefCount()); 376 CHECK_EQUAL(3, grp0->getRefCount() ); 402 377 CHECK_EQUAL(0, grp0->getWeakRefCount() ); 403 378 404 CHECK_EQUAL(2, grp1->getRefCount() ); 405 CHECK_EQUAL(1, grp1->getExternalRefCount()); 379 CHECK_EQUAL(3, grp1->getRefCount() ); 406 380 CHECK_EQUAL(0, grp1->getWeakRefCount() ); 407 381 … … 415 389 grp0 = NullFC; 416 390 grp1 = NullFC; 391 392 OSG::commitChanges(); 417 393 418 394 // all containers must be gone … … 428 404 TEST(Remove) 429 405 { 406 std::cerr << "ReferenceCountTests::Remove" << std::endl; 407 430 408 // Test removal of objects 431 409 … … 491 469 CHECK_EQUAL(nrp0, nrp1->getParent() ); 492 470 471 CHECK_EQUAL(1, nrp0->getRefCount() ); 472 CHECK_EQUAL(1, nrp0->getWeakRefCount() ); 473 474 CHECK_EQUAL(2, nrp1->getRefCount() ); 475 CHECK_EQUAL(0, nrp1->getWeakRefCount() ); 476 493 477 // add same child to different node 494 478 nrp2->addChild(nrp1); … … 501 485 CHECK_EQUAL(0, nrp0->getNChildren()); 502 486 487 CHECK_EQUAL(1, nrp0->getRefCount() ); 488 CHECK_EQUAL(0, nrp0->getWeakRefCount() ); 489 490 CHECK_EQUAL(1, nrp2->getRefCount() ); 491 CHECK_EQUAL(1, nrp2->getWeakRefCount() ); 492 493 CHECK_EQUAL(2, nrp1->getRefCount() ); 494 CHECK_EQUAL(0, nrp1->getWeakRefCount() ); 495 503 496 } // MoveChild 504 497
