public function testVisit()
{
$visitor = $this->getVisitor();
$generator = $this->getGenerator();
$generator->startDocument(null);
$relation = new RestRelation(new Content\Relation(array('id' => 42, 'sourceContentInfo' => new ContentInfo(array('id' => 1)), 'destinationContentInfo' => new ContentInfo(array('id' => 2)), 'type' => Content\Relation::FIELD, 'sourceFieldDefinitionIdentifier' => 'relation_field')), 1, 1);
$this->addRouteExpectation('ezpublish_rest_loadVersionRelation', array('contentId' => $relation->contentId, 'versionNumber' => $relation->versionNo, 'relationId' => $relation->relation->id), "/content/objects/{$relation->contentId}/versions/{$relation->versionNo}/relations/{$relation->relation->id}");
$this->addRouteExpectation('ezpublish_rest_loadContent', array('contentId' => $relation->contentId), "/content/objects/{$relation->contentId}");
$this->addRouteExpectation('ezpublish_rest_loadContent', array('contentId' => $relation->relation->getDestinationContentInfo()->id), "/content/objects/{$relation->relation->getDestinationContentInfo()->id}");
$visitor->visit($this->getVisitorMock(), $generator, $relation);
$result = $generator->endDocument(null);
$this->assertNotNull($result);
return $result;
}