$t->is($config->getParameters(),array('a string','foo'=>'bar','values'=>array(0,'integer'=>4,100=>null,'true',true,false,'on','off','float'=>1.3,1000.3,'a string',array('foo','bar')),'foo_bar'=>newReference('foo_bar')),'->load() converts XML values to PHP ones');
$t->is(count($services),3,'->load() attributes unique ids to anonymous services');
$args=$services['foo']->getArguments();
$t->is(count($args),1,'->load() references anonymous services as "normal" ones');
$t->is(get_class($args[0]),'Symfony\\Components\\DependencyInjection\\Reference','->load() converts anonymous services to references to "normal" services');
$t->ok(isset($services[(string)$args[0]]),'->load() makes a reference to the created ones');
$inner=$services[(string)$args[0]];
$t->is($inner->getClass(),'BarClass','->load() uses the same configuration as for the anonymous ones');
$args=$inner->getArguments();
$t->is(count($args),1,'->load() references anonymous services as "normal" ones');
$t->is(get_class($args[0]),'Symfony\\Components\\DependencyInjection\\Reference','->load() converts anonymous services to references to "normal" services');
$t->ok(isset($services[(string)$args[0]]),'->load() makes a reference to the created ones');
$inner=$services[(string)$args[0]];
$t->is($inner->getClass(),'BazClass','->load() uses the same configuration as for the anonymous ones');
$t->is(get_class($services['foo']),'Symfony\\Components\\DependencyInjection\\Definition','->load() converts <service> element to Definition instances');
$t->is($services['foo']->getClass(),'FooClass','->load() parses the class attribute');
$t->ok($services['shared']->isShared(),'->load() parses the shared attribute');
$t->ok(!$services['non_shared']->isShared(),'->load() parses the shared attribute');
$t->is($services['constructor']->getConstructor(),'getInstance','->load() parses the constructor attribute');
$t->is($services['file']->getFile(),'%path%/foo.php','->load() parses the file tag');
$t->is($services['arguments']->getArguments(),array('foo',newReference('foo'),array(true,false)),'->load() parses the argument tags');
$t->is($services['configurator1']->getConfigurator(),'sc_configure','->load() parses the configurator tag');
$t->is($services['configurator2']->getConfigurator(),array(newReference('baz'),'configure'),'->load() parses the configurator tag');
$t->is($services['configurator3']->getConfigurator(),array('BazClass','configureStatic'),'->load() parses the configurator tag');
$t->is($services['method_call1']->getMethodCalls(),array(array('setBar',array())),'->load() parses the method_call tag');
$t->is($services['method_call2']->getMethodCalls(),array(array('setBar',array('foo',newReference('foo'),array(true,false)))),'->load() parses the method_call tag');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),'bar','::convertDomElementToArray() converts a \DomElement to an array');
$doc=newDOMDocument("1.0");
$doc->loadXML('<foo foo="bar" />');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),array('foo'=>'bar'),'::convertDomElementToArray() converts a \DomElement to an array');
$doc=newDOMDocument("1.0");
$doc->loadXML('<foo><foo>bar</foo></foo>');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),array('foo'=>'bar'),'::convertDomElementToArray() converts a \DomElement to an array');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),array('foo'=>array('value'=>'bar','foo'=>'bar')),'::convertDomElementToArray() converts a \DomElement to an array');
$doc=newDOMDocument("1.0");
$doc->loadXML('<foo><foo></foo></foo>');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),array('foo'=>null),'::convertDomElementToArray() converts a \DomElement to an array');
$t->is(ProjectLoader::convertDomElementToArray($doc->documentElement),array('foo'=>null),'::convertDomElementToArray() converts a \DomElement to an array');