Show
Ignore:
Timestamp:
12/19/07 17:56:03 (9 months ago)
Author:
cneumann
Message:

changed: generic interface activated
fixed: single parent unlinking

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/FieldContainer/Base/OSGFieldContainerTest.cpp

    r1030 r1033  
    5151TEST(refCountAndRefPtr) 
    5252{ 
    53     OSG::NodePtr np = OSG::Node::create(); 
    54     CHECK(np->getRefCount()         == 0); 
    55     CHECK(np->getExternalRefCount() == 0); 
    56     CHECK(np->getWeakRefCount()     == 0); 
    57  
    58     OSG::UInt32 node_id = getContainerId(np); 
    59     CHECK(OSG::FieldContainerFactory::the()->getContainer(node_id) == np); 
     53    OSG::NodeRefPtr nrp = OSG::Node::create(); 
     54    CHECK(nrp->getRefCount()         == 0); 
     55    CHECK(nrp->getExternalRefCount() == 1); 
     56    CHECK(nrp->getWeakRefCount()     == 0); 
     57 
     58    OSG::UInt32 node_id = getContainerId(nrp); 
     59    CHECK(OSG::FieldContainerFactory::the()->getContainer(node_id) == nrp); 
    6060 
    6161    OSG::NodeRefPtr r; 
    6262    CHECK(!r); 
    6363 
    64     r = np; 
     64    r = nrp; 
    6565    CHECK(r); 
    66     CHECK(r.get() == np); 
    67     CHECK(np->getRefCount()         == 0); 
    68     CHECK(np->getExternalRefCount() == 1); 
    69     CHECK(np->getWeakRefCount()     == 0); 
     66    CHECK(r.get() == nrp); 
     67    CHECK(nrp->getRefCount()         == 0); 
     68    CHECK(nrp->getExternalRefCount() == 2); 
     69    CHECK(nrp->getWeakRefCount()     == 0); 
    7070 
    7171    { 
    72         OSG::NodeRefPtr r2(np); 
     72        OSG::NodeRefPtr r2(nrp); 
    7373        CHECK(r2); 
    74         CHECK(r2.get() == np); 
    75         CHECK(np->getRefCount()         == 0); 
    76         CHECK(np->getExternalRefCount() == 2); 
    77         CHECK(np->getWeakRefCount()     == 0); 
     74        CHECK(r2.get() == nrp); 
     75        CHECK(nrp->getRefCount()         == 0); 
     76        CHECK(nrp->getExternalRefCount() == 3); 
     77        CHECK(nrp->getWeakRefCount()     == 0); 
    7878    } 
    7979} 
     
    200200{ 
    201201    // Check to make sure that dangling FCPtrs are detected. 
    202     OSG::NodePtr node(OSG::Node::create()); 
    203     OSG::NodePtr node_copy = node; 
     202    OSG::NodeRefPtr node(OSG::Node::create()); 
     203    OSG::NodeRefPtr node_copy = node; 
    204204    OSG::FieldContainer*  the_fc = node.getBaseCPtr(); 
    205205    OSG::UInt32        kids = node->getNChildren();