示例#1
0
 public function testResolvingNamedParameters()
 {
     $this->builder->registerType('ClassZ')->withParams(Parameter::def(), 'z', Parameter::named('test2'));
     $this->builder->registerType('ClassE')->withParams('test1');
     $this->builder->registerType('ClassE')->withParams('test2')->named('test2');
     $container = $this->builder->build();
     $z = $container->resolve('ClassZ');
     $this->assertEquals('test1', $container->resolve('ClassE')->value);
     $this->assertEquals('test2', $container->resolveNamed('test2')->value);
     $this->assertEquals('test1', $z->e1->value);
     $this->assertEquals('z', $z->value);
     $this->assertEquals('test2', $z->e2->value);
 }
 public function test_RegisterWithParams_WithDefaultFirst()
 {
     $this->registerType('ClassE3')->withParams(Parameter::def(), 'testE3');
     $this->assertEquals('e', $this->resolve('ClassE3')->value);
     $this->assertEquals('testE3', $this->resolve('ClassE3')->value2);
 }