/**
  * @dataProvider provideTestAppend
  */
 public function testAppend()
 {
     $arguments = func_get_args();
     $expected = array_pop($arguments);
     $configuration = new DnaConfiguration(__DIR__);
     foreach ($arguments as $prependConfiguration) {
         $configuration->appendConfiguration($prependConfiguration);
     }
     $this->assertEquals($expected, $configuration->getConfiguration());
 }
 public function __construct(DnaConfiguration $dna)
 {
     $this->dnaConfiguration = $dna;
     $fileLoader = new ConfigurationFileLoader();
     $dna->prependConfiguration(__DIR__ . "/nucleus.json");
     $configuration = $fileLoader->load($dna->getConfiguration());
     //We set/override the debug value base on the debug in dna configuration
     //So it can be reuse in the service container
     $configuration['services']['configuration']['configuration']['debug'] = $dna->getDebug();
     $configuration['services']['configuration']['configuration']['cachePath'] = $dna->getCachePath();
     $this->dnaConfiguration->setConfiguration($configuration);
     $this->configuration = $this->dnaConfiguration->getConfiguration();
     $this->loaderFiles = $fileLoader->getLoadedFiles();
     $this->setDefaultConfiguration();
 }