public function testMapConfigArraySecondLevel()
{
$containerBuilder = new ContainerBuilder();
$this->contextualizer->setContainer($containerBuilder);
$defaultConfig = array('foo' => null, 'some' => null, 'planets' => array('Earth'), 'an_integer' => 0, 'enabled' => false, 'j_adore' => array('les_sushis'));
$config = array($this->saNodeName => array('default' => array('foo_setting' => $defaultConfig), 'sa_group1' => array('foo_setting' => array('foo' => 'bar', 'some' => 'thing', 'an_integer' => 123)), 'sa1' => array('foo_setting' => array('an_integer' => 456, 'enabled' => true, 'j_adore' => array('le_saucisson'))), 'sa2' => array('foo_setting' => array('foo' => 'baz', 'planets' => array('Mars', 'Venus'), 'an_integer' => 789)), 'sa3' => array('foo_setting' => array('planets' => array('Earth', 'Jupiter'))), 'global' => array('foo_setting' => array('j_adore' => array('la_truite_a_la_vapeur')))));
$expectedMergedSettings = array('sa1' => array('foo' => 'bar', 'some' => 'thing', 'planets' => array('Earth'), 'an_integer' => 456, 'enabled' => true, 'j_adore' => array('les_sushis', 'le_saucisson', 'la_truite_a_la_vapeur')), 'sa2' => array('foo' => 'baz', 'some' => 'thing', 'planets' => array('Earth', 'Mars', 'Venus'), 'an_integer' => 789, 'enabled' => false, 'j_adore' => array('les_sushis', 'la_truite_a_la_vapeur')), 'sa3' => array('foo' => 'bar', 'some' => 'thing', 'planets' => array('Earth', 'Earth', 'Jupiter'), 'an_integer' => 123, 'enabled' => false, 'j_adore' => array('les_sushis', 'la_truite_a_la_vapeur')));
$this->contextualizer->mapConfigArray('foo_setting', $config, ContextualizerInterface::MERGE_FROM_SECOND_LEVEL);
$this->assertSame($expectedMergedSettings['sa1'], $containerBuilder->getParameter("{$this->namespace}.sa1.foo_setting"));
$this->assertSame($expectedMergedSettings['sa2'], $containerBuilder->getParameter("{$this->namespace}.sa2.foo_setting"));
$this->assertSame($expectedMergedSettings['sa3'], $containerBuilder->getParameter("{$this->namespace}.sa3.foo_setting"));
}