@Test
public void testSearchForLoop() {

	Component c1 = new Component( "c1" );
	Assert.assertNull( ComponentHelpers.searchForLoop( c1 ));
	Component c11 = new Component( "c11" );
	c1.addChild( c11 );
	Assert.assertNull( ComponentHelpers.searchForLoop( c1 ));
	Component c12 = new Component( "c1" );
	c1.addChild( c12 );
	Assert.assertEquals( "c1 -> c1", ComponentHelpers.searchForLoop( c1 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c11 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c12 ));
	c12.setName( "c12" );
	Component c121 = new Component( "c1" );
	c12.addChild( c121 );
	Assert.assertEquals( "c1 -> c12 -> c1", ComponentHelpers.searchForLoop( c1 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c11 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c12 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c121 ));
	c121.setName( "c121" );
	c121.addChild( c1 );
	Assert.assertEquals( "c1 -> c12 -> c121 -> c1", ComponentHelpers.searchForLoop( c1 ));
	Assert.assertEquals( "c12 -> c121 -> c1 -> c12", ComponentHelpers.searchForLoop( c12 ));
	Assert.assertEquals( "c121 -> c1 -> c12 -> c121", ComponentHelpers.searchForLoop( c121 ));
	Assert.assertNull( ComponentHelpers.searchForLoop( c11 ));
}