/**
  * @covers OpenstoreAkilia\Config\OpenstoreAkiliaSetup::loadFromFiles
  */
 public function testLoadFromFiles()
 {
     $loaded = OpenstoreAkiliaSetup::loadFromFiles([OpenstoreAkiliaTests::getConfigFile()]);
     $this->assertEquals($this->setup->getConfig(), $loaded->getConfig());
     $loaded2 = OpenstoreAkiliaSetup::loadFromFiles($this->getConfigFiles());
     $cfg2 = $loaded2->getConfig();
     $this->assertArrayHasKey('entities_map', $cfg2['synchronizer']);
     $standard_entities_config = $loaded2->getSynchronizerConfig('entities_map');
     $this->assertInternalType('array', $standard_entities_config);
 }
    $directories = [getcwd() . DIRECTORY_SEPARATOR . 'config', DIRNAME(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config'];
    $configFound = false;
    $configFile = null;
    foreach ($directories as $directory) {
        $configFile = $directory . DIRECTORY_SEPARATOR . 'openstore-akilia.config.php';
        if (file_exists($configFile)) {
            $configFound = true;
            break;
        }
    }
    if (!$found) {
        throw new \Exception("Cannot find configuration file '{$configFile}'");
    }
    $ds = DIRECTORY_SEPARATOR;
    $defaultEntitiesFile = __DIR__ . "{$ds}..{$ds}config{$ds}openstore-akilia-standard-sync-entities.config.php";
    $setup = OpenstoreAkiliaSetup::loadFromFiles([$defaultEntitiesFile, $configFile]);
} catch (\Exception $e) {
    echo $e->getMessage() . "\n";
    exit(1);
}
$cli = new Symfony\Component\Console\Application('openstore-schema-core console', '1.0.0');
$cli->setCatchExceptions(true);
// commands
$commandRepository = new CommandRepository();
$cli->addCommands($commandRepository->getRegisteredCommands());
// helpers
$helpers = ['openstore-akilia-setup' => new OpenstoreAkilia\Console\Helper\ConfigurationHelper($setup), 'question' => new Symfony\Component\Console\Helper\QuestionHelper()];
foreach ($helpers as $name => $helper) {
    $cli->getHelperSet()->set($helper, $name);
}
$cli->run();