@Test
public void testFindAllExtendingComponents_cycle() {

	Component c1 = new Component( "c1" );
	Component c2 = new Component( "c2" );
	Component c3 = new Component( "c3" );
	c3.extendComponent( c2 );
	c2.extendComponent( c1 );
	Collection<Component> extending = ComponentHelpers.findAllExtendingComponents( c3 );
	Assert.assertEquals( 0, extending.size());
	extending = ComponentHelpers.findAllExtendingComponents( c2 );
	Assert.assertEquals( 1, extending.size());
	Assert.assertTrue( extending.contains( c3 ));
	extending = ComponentHelpers.findAllExtendingComponents( c1 );
	Assert.assertEquals( 2, extending.size());
	Assert.assertTrue( extending.contains( c2 ));
	Assert.assertTrue( extending.contains( c3 ));
	c1.extendComponent( c3 );
	Assert.assertEquals( 2, ComponentHelpers.findAllExtendingComponents( c1 ).size());
	Assert.assertEquals( 2, ComponentHelpers.findAllExtendingComponents( c2 ).size());
	Assert.assertEquals( 2, ComponentHelpers.findAllExtendingComponents( c3 ).size());
}