Example #1
0
 /**
  * @param Builder $builder
  * @dataProvider containerBuilderProvider
  */
 public function testClosureScalarReturnTypeDeclaration(Builder $builder)
 {
     $builder->define()->name('foo')->using(static function () : string {
         return 'bar';
     })->build();
     $container = $builder->build();
     $this->assertSame('bar', $container->get('foo'));
 }
Example #2
0
 /**
  * @param Builder $builder
  * @dataProvider containerBuilderProvider
  */
 public function testInjectionPointWithoutFactoryThrowsException(Builder $builder)
 {
     $this->setExpectedException(Exception\DomainException::class);
     $builder->define(Fixture\InjectionPointChild::class)->using(static function (InjectionPoint $point) {
         return new InjectionPointChild($point->class . '::' . $point->method);
     })->build();
     $builder->addInterface(Fixture\InjectionPointChildAwareInterface::class);
     $builder->define(Fixture\InjectionPointParent::class)->build();
     $container = $builder->build();
 }
Example #3
0
 private function getBuilder()
 {
     list($class, $tmpFile) = $this->mktmp();
     $namespace = 'zdi\\Tests\\Gen';
     $builder = new ContainerBuilder();
     $builder->file($tmpFile);
     $builder->className($namespace . '\\' . $class);
     $builder->define(Fixture\NoArguments::class)->build();
     return $builder;
 }
Example #4
0
 public function define(ContainerBuilder $builder)
 {
     $builder->define(NoArguments::class)->build();
     $builder->define(OneObjectArgument::class)->build();
 }