Changeset 4328 for trunk/tests/Orm

Show
Ignore:
Timestamp:
05/01/08 10:41:47 (8 months ago)
Author:
romanb
Message:

Merged all identity maps into one in the unitofwork. identity map now properly works with hierarchies.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/tests/Orm/UnitOfWorkTestCase.php

    r3934 r4328  
    88     
    99    protected function setUp() { 
     10        parent::setUp(); 
    1011        $this->_user = new ForumUser(); 
    1112        $this->_unitOfWork = $this->sharedFixture['connection']->unitOfWork; 
     
    1617    } 
    1718     
    18     public function testTransientEntityIsManaged() 
     19    public function testRegisterNew() 
    1920    { 
    20         $this->assertTrue($this->_unitOfWork->isManaged($this->_user)); 
    21         $this->assertSame($this->_user, $this->_unitOfWork->getByOid($this->_user->getOid())); 
     21        $this->_unitOfWork->registerNew($this->_user); 
     22        $this->assertFalse($this->_unitOfWork->contains($this->_user)); 
     23        $this->assertTrue($this->_unitOfWork->isRegisteredNew($this->_user)); 
     24        $this->assertFalse($this->_unitOfWork->isRegisteredDirty($this->_user)); 
     25        $this->assertFalse($this->_unitOfWork->isRegisteredRemoved($this->_user)); 
    2226    } 
    2327     
    24     public function testDetachSingleEntity() 
     28    public function testRegisterDirty() 
    2529    { 
    26         $this->assertTrue($this->_unitOfWork->detach($this->_user)); 
    27         try { 
    28             $this->_unitOfWork->getByOid($this->_user->getOid()); 
    29             $this->fail("Entity is still managed after is has been detached."); 
    30         } catch (Doctrine_Connection_Exception $ex) {} 
    31     } 
    32      
    33     public function testDetachAllEntities() 
    34     { 
    35         $this->assertEquals(1, $this->_unitOfWork->detachAll()); 
    36         try { 
    37             $this->_unitOfWork->getByOid($this->_user->getOid()); 
    38             $this->fail("Entity is still managed after all entities have been detached."); 
    39         } catch (Doctrine_Connection_Exception $ex) {} 
     30        $this->_user->username = 'romanb'; 
     31        $this->_user->id = 1; 
     32        $this->assertEquals(Doctrine_Record::STATE_TDIRTY, $this->_user->state()); 
     33        $this->assertFalse($this->_unitOfWork->contains($this->_user)); 
     34        $this->_unitOfWork->registerDirty($this->_user); 
     35        $this->assertTrue($this->_unitOfWork->isRegisteredDirty($this->_user)); 
     36        $this->assertFalse($this->_unitOfWork->isRegisteredNew($this->_user)); 
     37        $this->assertFalse($this->_unitOfWork->isRegisteredRemoved($this->_user)); 
     38         
    4039    } 
    4140