Exemplo n.º 1
0
 /**
  * @covers Symfony\Components\DependencyInjection\ContainerBuilder::setDefinitions
  * @covers Symfony\Components\DependencyInjection\ContainerBuilder::getDefinitions
  * @covers Symfony\Components\DependencyInjection\ContainerBuilder::setDefinition
  * @covers Symfony\Components\DependencyInjection\ContainerBuilder::getDefinition
  */
 public function testDefinitions()
 {
     $builder = new ContainerBuilder();
     $definitions = array('foo' => new Definition('FooClass'), 'bar' => new Definition('BarClass'));
     $builder->setDefinitions($definitions);
     $this->assertEquals($definitions, $builder->getDefinitions(), '->setDefinitions() sets the service definitions');
     $this->assertTrue($builder->hasDefinition('foo'), '->hasDefinition() returns true if a service definition exists');
     $this->assertFalse($builder->hasDefinition('foobar'), '->hasDefinition() returns false if a service definition does not exist');
     $builder->setDefinition('foobar', $foo = new Definition('FooBarClass'));
     $this->assertEquals($foo, $builder->getDefinition('foobar'), '->getDefinition() returns a service definition if defined');
     $this->assertTrue($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')) === $foo, '->setDefinition() implements a fuild interface by returning the service reference');
     $builder->addDefinitions($defs = array('foobar' => new Definition('FooBarClass')));
     $this->assertEquals(array_merge($definitions, $defs), $builder->getDefinitions(), '->addDefinitions() adds the service definitions');
     try {
         $builder->getDefinition('baz');
         $this->fail('->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\InvalidArgumentException', $e, '->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
         $this->assertEquals('The service definition "baz" does not exist.', $e->getMessage(), '->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
     }
 }