@Test
public void testFindAllComponents_extended() {

	ApplicationTemplate app = ComplexApplicationFactory1.newApplication();
	app.getGraphs().getRootComponents().clear();
	Component root1 = new Component( "root1" ).installerName( Constants.TARGET_INSTALLER );
	Component root2 = new Component( "root2" );
	Component root3 = new Component( "root3" );
	Assert.assertEquals( 0, ComponentHelpers.findAllComponents( app ).size());
	app.getGraphs().getRootComponents().add( root1 );
	Assert.assertEquals( 1, ComponentHelpers.findAllComponents( app ).size());
	root2.extendComponent( root1 );
	Assert.assertEquals( 2, ComponentHelpers.findAllComponents( app ).size());
	root3.extendComponent( root2 );
	Assert.assertEquals( 3, ComponentHelpers.findAllComponents( app ).size());
	app.getGraphs().getRootComponents().add( root2 );
	app.getGraphs().getRootComponents().add( root3 );
	Assert.assertEquals( 3, ComponentHelpers.findAllComponents( app ).size());
	Component childComponent = new Component( "child" ).installerName( "script" );
	root3.addChild( childComponent );
	Assert.assertEquals( 4, ComponentHelpers.findAllComponents( app ).size());
}