3 namespace Doctrine\Tests\ORM\Id;
5 use Doctrine\ORM\Id\AssignedGenerator;
7 require_once __DIR__ . '/../../TestInit.php';
10 * AssignedGeneratorTest
14 class AssignedGeneratorTest extends \Doctrine\Tests\OrmTestCase
17 private $_assignedGen;
19 protected function setUp()
21 $this->_em = $this->_getTestEntityManager();
22 $this->_assignedGen = new AssignedGenerator;
25 public function testThrowsExceptionIfIdNotAssigned()
28 $entity = new AssignedSingleIdEntity;
29 $this->_assignedGen->generate($this->_em, $entity);
30 $this->fail('Assigned generator did not throw exception even though ID was missing.');
31 } catch (\Doctrine\ORM\ORMException $expected) {}
34 $entity = new AssignedCompositeIdEntity;
35 $this->_assignedGen->generate($this->_em, $entity);
36 $this->fail('Assigned generator did not throw exception even though ID was missing.');
37 } catch (\Doctrine\ORM\ORMException $expected) {}
40 public function testCorrectIdGeneration()
42 $entity = new AssignedSingleIdEntity;
44 $id = $this->_assignedGen->generate($this->_em, $entity);
45 $this->assertEquals(array('myId' => 1), $id);
47 $entity = new AssignedCompositeIdEntity;
50 $id = $this->_assignedGen->generate($this->_em, $entity);
51 $this->assertEquals(array('myId1' => 4, 'myId2' => 2), $id);
56 class AssignedSingleIdEntity {
57 /** @Id @Column(type="integer") */
62 class AssignedCompositeIdEntity {
63 /** @Id @Column(type="integer") */
65 /** @Id @Column(type="integer") */