/** * Testing circular reference * * @return void */ public function testCircularReferenceFatalErrorOnGetParents() { $this->context->expects($this->once())->method('addViolationAt')->with('Parent', sprintf('You cannot set object #%s as parent for object #%s because of circular reference', 'test2', 'test1')); $channel1 = new CircularReferenceEntity(); $channel1->setIds(array('id' => 'test1')); $channel2 = new CircularReferenceEntity(); $channel2->setIds(array('id' => 'test2')); $channel3 = new CircularReferenceEntity(); $channel3->setIds(array('id' => 'test3')); $constraint = new CircularReference(); /* * Validation should go after each item * because we don't have batch update * operations for now */ $channel2->setParent($channel1); $this->validator->validate($channel2, $constraint); $channel1->setParent($channel2); $this->validator->validate($channel1, $constraint); $channel3->setParent($channel2); $this->validator->validate($channel3, $constraint); }