Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / Mocks / UnitOfWorkMock.php
1 <?php
2
3 namespace Doctrine\Tests\Mocks;
4
5 class UnitOfWorkMock extends \Doctrine\ORM\UnitOfWork
6 {
7     private $_mockDataChangeSets = array();
8     private $_persisterMock;
9
10     /**
11      * @override
12      */
13     public function getEntityPersister($entityName)
14     {
15         return isset($this->_persisterMock[$entityName]) ?
16                 $this->_persisterMock[$entityName] : parent::getEntityPersister($entityName);
17     }
18
19     /**
20      * @param <type> $entity
21      * @override
22      */
23     public function getEntityChangeSet($entity)
24     {
25         $oid = spl_object_hash($entity);
26         return isset($this->_mockDataChangeSets[$oid]) ?
27                 $this->_mockDataChangeSets[$oid] : parent::getEntityChangeSet($entity);
28     }
29
30     /* MOCK API */
31
32     /**
33      * Sets a (mock) persister for an entity class that will be returned when
34      * getEntityPersister() is invoked for that class.
35      *
36      * @param <type> $entityName
37      * @param <type> $persister
38      */
39     public function setEntityPersister($entityName, $persister)
40     {
41         $this->_persisterMock[$entityName] = $persister;
42     }
43
44     public function setDataChangeSet($entity, array $mockChangeSet)
45     {
46         $this->_mockDataChangeSets[spl_object_hash($entity)] = $mockChangeSet;
47     }
48
49     public function setEntityState($entity, $state)
50     {
51         $this->_entityStates[spl_object_hash($entity)] = $state;
52     }
53
54     public function setOriginalEntityData($entity, array $originalData)
55     {
56         $this->_originalEntityData[spl_object_hash($entity)] = $originalData;
57     }
58 }