/**
  * @test
  */
 public function parsesCldrDataCorrectly()
 {
     $sampleFilenamePath = __DIR__ . '/../Fixtures/MockCldrData.xml';
     $sampleParsedData = (require __DIR__ . '/../Fixtures/MockParsedCldrData.php');
     $parser = new I18n\Cldr\CldrParser();
     $result = $parser->getParsedData($sampleFilenamePath);
     $this->assertEquals($sampleParsedData, $result);
 }
 /**
  * Parses given CLDR files using CldrParser and merges parsed data.
  *
  * Merging is done with inheritance in mind, as defined in CLDR specification.
  *
  * @param array<string> $sourcePaths Absolute paths to CLDR files (can be one file)
  * @return array Parsed and merged data
  */
 protected function parseFiles(array $sourcePaths)
 {
     $parsedFiles = [];
     foreach ($sourcePaths as $sourcePath) {
         $parsedFiles[] = $this->cldrParser->getParsedData($sourcePath);
     }
     // Merge all data starting with most generic file so we get proper inheritance
     $parsedData = $parsedFiles[0];
     $parsedFilesCount = count($parsedFiles);
     for ($i = 1; $i < $parsedFilesCount; ++$i) {
         $parsedData = $this->mergeTwoParsedFiles($parsedData, $parsedFiles[$i]);
     }
     return $parsedData;
 }