/**
  * Try to access the children of a specific version of a document and assert they
  * are hydrated properly
  */
 public function testUnversionedChildrenOnParentVersion()
 {
     $versionableArticle = new FullVersionableArticleWithChildren();
     $versionableArticle->author = 'mellowplace';
     $versionableArticle->topic = 'children test';
     $versionableArticle->id = '/functional/children-test';
     $versionableArticle->setText('Parent article text');
     $this->dm->persist($versionableArticle);
     $childArticle = new NonVersionableArticle();
     $childArticle->setText("This is the child");
     $childArticle->id = '/functional/children-test/child';
     $childArticle->author = 'mellowplace';
     $childArticle->topic = 'children test - child';
     $versionableArticle->addChildArticle($childArticle);
     // checkin the first version (1.0)
     $this->dm->flush();
     $this->dm->checkpoint($versionableArticle);
     // now modify the child nodes text and checkin the second version (1.1)
     $childArticle->setText('modified text');
     $this->dm->flush();
     $this->dm->checkpoint($versionableArticle);
     $firstVersion = $this->dm->findVersionByName('Doctrine\\Tests\\Models\\Versioning\\FullVersionableArticleWithChildren', $versionableArticle->id, '1.0');
     $secondVersion = $this->dm->findVersionByName('Doctrine\\Tests\\Models\\Versioning\\FullVersionableArticleWithChildren', $versionableArticle->id, '1.1');
     $this->assertEquals('This is the child', $firstVersion->childArticles->first()->getText(), 'The expected child article text is correct');
     $this->assertEquals('modified text', $secondVersion->childArticles->first()->getText(), 'The expected, modified, child article text is correct');
 }
 /**
  * Check the version we removed in testRemoveVersion does not exist anymore
  * @depends testRemoveVersion
  * @expectedException \Doctrine\ODM\PHPCR\Exception\InvalidArgumentException
  */
 public function testDeletedVersionDoesNotExistAnymore($lastVersionName)
 {
     $this->dm->findVersionByName($this->typeVersion, '/functional/versionTestObj', $lastVersionName);
 }