public function testDelegatedGet()
 {
     $delegate = new Container();
     $delegate['baz'] = 'qux';
     $this->container->delegate($delegate);
     $this->assertEquals('qux', $this->container->get('baz'));
 }
<?php

use Xtreamwayz\Pimple\Container;
// Load configuration
$config = (require __DIR__ . '/config.php');
// Build container
$container = new Container();
// Inject config
$container['config'] = $config;
// Inject factories
foreach ($config['dependencies']['factories'] as $name => $object) {
    $container[$name] = function ($c) use($object, $name) {
        if ($c->has($object)) {
            $factory = $c->get($object);
        } else {
            $factory = new $object();
            $c[$object] = $c->protect($factory);
        }
        return $factory($c, $name);
    };
}
// Inject invokables
foreach ($config['dependencies']['invokables'] as $name => $object) {
    $container[$name] = function ($c) use($object) {
        return new $object();
    };
}
// Inject "pimple extend-style" factories
if (!empty($config['dependencies']['extensions']) && is_array($config['dependencies']['extensions'])) {
    foreach ($config['dependencies']['extensions'] as $name => $extensions) {
        foreach ($extensions as $extension) {