diff --git a/tests/Ticket364TestCase.php b/tests/Ticket364TestCase.php new file mode 100644 index 000000000..6b485bac3 --- /dev/null +++ b/tests/Ticket364TestCase.php @@ -0,0 +1,73 @@ +. + */ + +/** + * Doctrine_Ticket364_TestCase + * + * @package Doctrine + * @author Konsta Vesterinen + * @author Jan Schaefer + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @category Object Relational Mapping + * @link www.phpdoctrine.com + * @since 1.0 + * @version $Revision$ + */ +class Doctrine_Ticket364_TestCase extends Doctrine_UnitTestCase { + + public function prepareData() + { } + public function prepareTables() + { + $this->tables = array('NestTest', 'NestReference'); + + parent::prepareTables(); + } + + public function testCircularNonEqualSelfReferencingRelationSaving() { + $n1 = new NestTest(); + $n1->set('name', 'node1'); + $n1->save(); + $n2 = new NestTest(); + $n2->set('name', 'node2'); + $n2->save(); + + $n1->get('Children')->add($n2); + $n1->save(); + $n2->get('Children')->add($n1); + $n2->save(); + } + + public function testCircularEqualSelfReferencingRelationSaving() { + $n1 = new NestTest(); + $n1->set('name', 'node1'); + $n1->save(); + $n2 = new NestTest(); + $n2->set('name', 'node2'); + $n2->save(); + + $n1->get('Relatives')->add($n2); + $n1->save(); + $n2->get('Relatives')->add($n1); + $n2->save(); + } + +} \ No newline at end of file