| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- <?php
 - 
 - namespace Doctrine\Tests\ORM;
 - 
 - use Doctrine\ORM\Mapping\ClassMetadata;
 - 
 - require_once __DIR__ . '/../TestInit.php';
 - 
 - /**
 -  * Tests of the commit order calculation.
 -  *
 -  * IMPORTANT: When writing tests here consider that a lot of graph constellations
 -  * can have many valid orderings, so you may want to build a graph that has only
 -  * 1 valid order to simplify your tests.
 -  */
 - class CommitOrderCalculatorTest extends \Doctrine\Tests\OrmTestCase
 - {
 -     private $_calc;
 -     
 -     protected function setUp()
 -     {
 -         $this->_calc = new \Doctrine\ORM\Internal\CommitOrderCalculator();
 -     }
 -     
 -     public function testCommitOrdering1()
 -     {
 -         $class1 = new ClassMetadata(__NAMESPACE__ . '\NodeClass1');
 -         $class2 = new ClassMetadata(__NAMESPACE__ . '\NodeClass2');
 -         $class3 = new ClassMetadata(__NAMESPACE__ . '\NodeClass3');
 -         $class4 = new ClassMetadata(__NAMESPACE__ . '\NodeClass4');
 -         $class5 = new ClassMetadata(__NAMESPACE__ . '\NodeClass5');
 -         
 -         $this->_calc->addClass($class1);
 -         $this->_calc->addClass($class2);
 -         $this->_calc->addClass($class3);
 -         $this->_calc->addClass($class4);
 -         $this->_calc->addClass($class5);
 -         
 -         $this->_calc->addDependency($class1, $class2);
 -         $this->_calc->addDependency($class2, $class3);
 -         $this->_calc->addDependency($class3, $class4);
 -         $this->_calc->addDependency($class5, $class1);
 - 
 -         $sorted = $this->_calc->getCommitOrder();
 -         
 -         // There is only 1 valid ordering for this constellation
 -         $correctOrder = array($class5, $class1, $class2, $class3, $class4);
 -         $this->assertSame($correctOrder, $sorted);
 -     }
 - }
 - 
 - class NodeClass1 {}
 - class NodeClass2 {}
 - class NodeClass3 {}
 - class NodeClass4 {}
 - class NodeClass5 {}
 
 
  |