$t->ok(!$configuration->hasAlias('baba'), '->hasAlias() returns false if the alias is not defined');

try
{
  $configuration->getAlias('baba');
  $t->fail('->getAlias() throws an \InvalidArgumentException if the alias does not exist');
}
catch (\InvalidArgumentException $e)
{
  $t->pass('->getAlias() throws an \InvalidArgumentException if the alias does not exist');
}

$configuration->setAlias('barbar', 'foofoo');
$t->is($configuration->getAliases(), array('bar' => 'foo', 'barbar' => 'foofoo'), '->getAliases() returns an array of all defined aliases');

$configuration->addAliases(array('foo' => 'bar'));
$t->is($configuration->getAliases(), array('bar' => 'foo', 'barbar' => 'foofoo', 'foo' => 'bar'), '->addAliases() adds some aliases');

// ->setDefinitions() ->addDefinitions() ->getDefinitions() ->setDefinition() ->getDefinition() ->hasDefinition()
$t->diag('->setDefinitions() ->addDefinitions() ->getDefinitions() ->setDefinition() ->getDefinition() ->hasDefinition()');
$configuration = new BuilderConfiguration();
$definitions = array(
  'foo' => new Definition('FooClass'),
  'bar' => new Definition('BarClass'),
);
$configuration->setDefinitions($definitions);
$t->is($configuration->getDefinitions(), $definitions, '->setDefinitions() sets the service definitions');
$t->ok($configuration->hasDefinition('foo'), '->hasDefinition() returns true if a service definition exists');
$t->ok(!$configuration->hasDefinition('foobar'), '->hasDefinition() returns false if a service definition does not exist');

$configuration->setDefinition('foobar', $foo = new Definition('FooBarClass'));
 public function testAliases()
 {
     $configuration = new BuilderConfiguration();
     $configuration->setAlias('bar', 'foo');
     $this->assertEquals('foo', $configuration->getAlias('bar'), '->setAlias() defines a new alias');
     $this->assertTrue($configuration->hasAlias('bar'), '->hasAlias() returns true if the alias is defined');
     $this->assertFalse($configuration->hasAlias('baba'), '->hasAlias() returns false if the alias is not defined');
     try {
         $configuration->getAlias('baba');
         $this->fail('->getAlias() throws an \\InvalidArgumentException if the alias does not exist');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\InvalidArgumentException', $e, '->getAlias() throws an \\InvalidArgumentException if the alias does not exist');
         $this->assertEquals('The service alias "baba" does not exist.', $e->getMessage(), '->getAlias() throws an \\InvalidArgumentException if the alias does not exist');
     }
     $configuration->setAlias('barbar', 'foofoo');
     $this->assertEquals(array('bar' => 'foo', 'barbar' => 'foofoo'), $configuration->getAliases(), '->getAliases() returns an array of all defined aliases');
     $configuration->addAliases(array('foo' => 'bar'));
     $this->assertEquals(array('bar' => 'foo', 'barbar' => 'foofoo', 'foo' => 'bar'), $configuration->getAliases(), '->addAliases() adds some aliases');
 }