3 namespace Doctrine\Tests\ORM\Functional\Ticket;
7 require_once __DIR__ . '/../../../TestInit.php';
9 class DDC656Test extends \Doctrine\Tests\OrmFunctionalTestCase
11 protected function setUp()
15 $this->_schemaTool->createSchema(array(
16 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC656Entity')
18 } catch(\Exception $e) {
23 public function testRecomputeSingleEntityChangeSet_PreservesFieldOrder()
25 $entity = new DDC656Entity();
26 $entity->setName('test1');
27 $entity->setType('type1');
28 $this->_em->persist($entity);
30 $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(get_class($entity)), $entity);
31 $data1 = $this->_em->getUnitOfWork()->getEntityChangeset($entity);
32 $entity->setType('type2');
33 $this->_em->getUnitOfWork()->recomputeSingleEntityChangeSet($this->_em->getClassMetadata(get_class($entity)), $entity);
34 $data2 = $this->_em->getUnitOfWork()->getEntityChangeset($entity);
36 $this->assertEquals(array_keys($data1), array_keys($data2));
41 $persistedEntity = $this->_em->find(get_class($entity), $entity->specificationId);
42 $this->assertEquals('type2', $persistedEntity->getType());
43 $this->assertEquals('test1', $persistedEntity->getName());
53 * @Column(type="string")
58 * @Column(type="string")
63 * @Id @Column(type="integer") @GeneratedValue
65 public $specificationId;
67 public function getName() {
71 public function setName($name) {
75 public function getType() {
79 public function setType($type) {