1
0
mirror of synced 2025-02-03 13:59:27 +03:00
doctrine2/tests/Doctrine/Tests/Mocks/UnitOfWorkMock.php

72 lines
1.6 KiB
PHP
Raw Normal View History

<?php
2009-01-04 16:15:32 +00:00
namespace Doctrine\Tests\Mocks;
use Doctrine\ORM\UnitOfWork;
/**
* Mock class for UnitOfWork.
*/
class UnitOfWorkMock extends UnitOfWork
{
/**
* @var array
*/
private $_mockDataChangeSets = array();
/**
* @var array|null
*/
private $_persisterMock;
/**
* {@inheritdoc}
*/
public function getEntityPersister($entityName)
{
2016-02-16 05:03:11 +00:00
return isset($this->_persisterMock[$entityName])
? $this->_persisterMock[$entityName]
: parent::getEntityPersister($entityName);
}
/**
* {@inheritdoc}
*/
2016-02-16 05:03:11 +00:00
public function & getEntityChangeSet($entity)
{
$oid = spl_object_hash($entity);
2016-02-16 05:03:11 +00:00
if (isset($this->_mockDataChangeSets[$oid])) {
return $this->_mockDataChangeSets[$oid];
}
$data = parent::getEntityChangeSet($entity);
return $data;
}
/* MOCK API */
/**
* Sets a (mock) persister for an entity class that will be returned when
* getEntityPersister() is invoked for that class.
*
* @param string $entityName
* @param \Doctrine\ORM\Persisters\Entity\BasicEntityPersister $persister
*
* @return void
*/
public function setEntityPersister($entityName, $persister)
{
$this->_persisterMock[$entityName] = $persister;
}
/**
* {@inheritdoc}
*/
public function setOriginalEntityData($entity, array $originalData)
{
$this->_originalEntityData[spl_object_hash($entity)] = $originalData;
}
}