/**
  * Registers services on th' given container.
  *
  * This method should only be used to configure services and parameters.
  * It should not get services.
  *
  * @param Container $barnacle An Container instance
  */
 public function register(Container $barnacle)
 {
     $barnacle['param'] = 'value';
     $barnacle['service'] = function () {
         return new Service();
     };
     $barnacle['factory'] = $barnacle->factory(function () {
         return new Service();
     });
 }
 /**
  * @dataProvider badServiceDefinitionProvider
  * @expectedException \InvalidArgumentException
  * @expectedExceptionMessage Service definition is not a Closure or invokable object.
  */
 public function testFactoryFailsForInvalidServiceDefinitions($service)
 {
     $barnacle = new Container();
     $barnacle->factory($service);
 }