@Test
public void testFindAllExtendedComponents_cycle() {

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