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')); }
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)); }