@Test public void testChild() { ComponentContainer parent = new ComponentContainer(); parent.startComponents(); ComponentContainer child = parent.createChild(); child.addSingleton(StartableComponent.class); child.startComponents(); assertThat(child.getParent()).isSameAs(parent); assertThat(parent.getChild()).isSameAs(child); assertThat(child.getComponentByType(ComponentContainer.class)).isSameAs(child); assertThat(parent.getComponentByType(ComponentContainer.class)).isSameAs(parent); assertThat(child.getComponentByType(StartableComponent.class)).isNotNull(); assertThat(parent.getComponentByType(StartableComponent.class)).isNull(); parent.stopComponents(); }