/** * @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')); }
/** * @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(); }
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; }
public function define(ContainerBuilder $builder) { $builder->define(NoArguments::class)->build(); $builder->define(OneObjectArgument::class)->build(); }