assertNull( childFactory.getSingleton( "myBean" ) );
}
@Test
public void destroyAcrossContextDirectly() {
AcrossContext across = new AcrossContext();
across.setInstallerAction( InstallerAction.DISABLED );
across.setDataSource( mock( DataSource.class ) );
AcrossModule moduleOne = new EmptyAcrossModule( "moduleOne" );
moduleOne.addApplicationContextConfigurer( new AnnotatedClassConfigurer( Config.class ) );
AcrossModule moduleTwo = new EmptyAcrossModule( "moduleTwo" );
moduleTwo.addApplicationContextConfigurer( new AnnotatedClassConfigurer( Config.class ) );
across.addModule( moduleOne );
across.addModule( moduleTwo );
across.bootstrap();
AbstractApplicationContext acrossApplicationContext = AcrossContextUtils.getApplicationContext( across );
ConfigurableListableBeanFactory acrossFactory = AcrossContextUtils.getBeanFactory( across );
ConfigurableListableBeanFactory moduleOneFactory = AcrossContextUtils.getBeanFactory( moduleOne );
ConfigurableListableBeanFactory moduleTwoFactory = AcrossContextUtils.getBeanFactory( moduleTwo );
assertTrue( acrossApplicationContext.isActive() );
assertNotNull( acrossFactory.getSingleton( AcrossContextInfo.BEAN ) );
assertNotNull( moduleOneFactory.getSingleton( "myBean" ) );
assertNotNull( moduleTwoFactory.getSingleton( "myBean" ) );
assertNotSame( moduleOneFactory.getSingleton( "myBean" ), moduleTwoFactory.getSingleton( "myBean" ) );
across.shutdown();
assertFalse( acrossApplicationContext.isActive() );
assertNull( acrossFactory.getSingleton( AcrossContextInfo.BEAN ) );
assertNull( moduleOneFactory.getSingleton( "myBean" ) );
assertNull( moduleTwoFactory.getSingleton( "myBean" ) );