public function testBuildVersionInfo(SPIVersionInfo $spiVersionInfo, array $languages, array $expected)
{
$i = 0;
$languageHandlerMock = $this->getLanguageHandlerMock();
foreach ($languages as $languageId => $languageCode) {
$languageHandlerMock->expects($this->at($i++))->method('load')->with($languageId)->will($this->returnValue(new SPILanguage(array('id' => $languageId, 'languageCode' => $languageCode))));
}
if (empty($languages)) {
$languageHandlerMock->expects($this->never())->method('load');
}
$versionInfo = $this->getDomainMapper()->buildVersionInfoDomainObject($spiVersionInfo);
$this->assertInstanceOf('eZ\\Publish\\Core\\Repository\\Values\\Content\\VersionInfo', $versionInfo);
foreach ($expected as $expectedProperty => $expectedValue) {
$this->assertAttributeSame($expectedValue, $expectedProperty, $versionInfo);
}
}