Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Performance / UnitOfWorkPerformanceTest.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Performance;
4
5 require_once __DIR__ . '/../../TestInit.php';
6
7 use Doctrine\Tests\Models\CMS\CmsUser;
8
9 /**
10  * Description of InsertPerformanceTest
11  *
12  * @author robo
13  * @group performance
14  */
15 class UnitOfWorkPerformanceTest extends \Doctrine\Tests\OrmPerformanceTestCase
16 {
17     protected function setUp()
18     {
19         $this->useModelSet('cms');
20         parent::setUp();
21     }
22
23     public function testComputeChanges()
24     {
25         $n = 100;
26
27         $users = array();
28         for ($i=1; $i<=$n; ++$i) {
29             $user = new CmsUser;
30             $user->status = 'user';
31             $user->username = 'user' . $i;
32             $user->name = 'Mr.Smith-' . $i;
33             $this->_em->persist($user);
34             $users[] = $user;
35         }
36         $this->_em->flush();
37
38
39         foreach ($users AS $user) {
40             $user->status = 'other';
41             $user->username = $user->username . '++';
42             $user->name = str_replace('Mr.', 'Mrs.', $user->name);
43         }
44
45         $s = microtime(true);
46         $this->_em->flush();
47         $e = microtime(true);
48
49         echo ' Compute ChangeSet '.$n.' objects in ' . ($e - $s) . ' seconds' . PHP_EOL;
50     }
51 }