Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Id / SequenceGeneratorTest.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Id;
4
5 use Doctrine\ORM\Id\SequenceGenerator;
6
7 require_once __DIR__ . '/../../TestInit.php';
8
9 /**
10  * Description of SequenceGeneratorTest
11  *
12  * @author robo
13  */
14 class SequenceGeneratorTest extends \Doctrine\Tests\OrmTestCase
15 {
16     private $_em;
17     private $_seqGen;
18
19     protected function setUp()
20     {
21         $this->_em = $this->_getTestEntityManager();
22         $this->_seqGen = new SequenceGenerator('seq', 10);
23     }
24
25     public function testGeneration()
26     {
27         for ($i=0; $i < 42; ++$i) {
28             if ($i % 10 == 0) {
29                 $this->_em->getConnection()->setFetchOneResult((int)($i / 10) * 10);
30             }
31             $id = $this->_seqGen->generate($this->_em, null);
32             $this->assertEquals($i, $id);
33             $this->assertEquals((int)($i / 10) * 10 + 10, $this->_seqGen->getCurrentMaxValue());
34             $this->assertEquals($i + 1, $this->_seqGen->getNextValue());
35         }
36
37
38     }
39 }
40