Exemplo n.º 1
0
 public function test_remove()
 {
     $container = new Container();
     $container->set('foo', 'bar');
     $container->set('bar', 'bar');
     $container->set('baz', 'bar');
     $this->assertTrue($container->has('foo'));
     $container->remove('foo');
     $this->assertFalse($container->has('foo'));
     $this->assertTrue($container->has('bar'));
     $this->assertTrue($container->has('baz'));
 }
Exemplo n.º 2
0
 public function test_remove_parent_definition_and_get_alias()
 {
     $container = new Container();
     $container->set([SimpleImplementation::class, IImplementation::class], SimpleImplementation::class);
     $value1 = $container->get(SimpleImplementation::class);
     $value2 = $container->get(IImplementation::class);
     $this->assertTrue($value1 instanceof SimpleImplementation);
     $this->assertTrue($value2 instanceof SimpleImplementation);
     $container->remove(SimpleImplementation::class);
     $this->assertFalse($container->has(SimpleImplementation::class));
     $this->assertTrue($container->has(IImplementation::class));
     $value2 = $container->get(IImplementation::class);
     $this->assertTrue($value2 instanceof SimpleImplementation);
 }
 public function test_invoker_puts_provider_instance_into_the_container()
 {
     $container = new Container();
     $invoker = new ProviderInvoker($container);
     $provider = $invoker->create(ComplexProvider::class, new Dictionary());
     $this->assertTrue($container->has(ComplexProvider::class));
     $this->assertTrue($provider === $container->get(ComplexProvider::class));
 }