### Question:
SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListener<ApplicationEvent> { @Override public SqlSessionFactory getObject() throws Exception { if (this.sqlSessionFactory == null) { afterPropertiesSet(); } return this.sqlSessionFactory; }  void setObjectFactory(ObjectFactory objectFactory); void setObjectWrapperFactory(ObjectWrapperFactory objectWrapperFactory); DatabaseIdProvider getDatabaseIdProvider(); void setDatabaseIdProvider(DatabaseIdProvider databaseIdProvider); Class<? extends VFS> getVfs(); void setVfs(Class<? extends VFS> vfs); Cache getCache(); void setCache(Cache cache); void setPlugins(Interceptor[] plugins); void setTypeAliasesPackage(String typeAliasesPackage); void setTypeAliasesSuperType(Class<?> typeAliasesSuperType); void setTypeHandlersPackage(String typeHandlersPackage); void setTypeHandlers(TypeHandler<?>[] typeHandlers); void setTypeAliases(Class<?>[] typeAliases); void setFailFast(boolean failFast); void setConfigLocation(Resource configLocation); void setConfiguration(Configuration configuration); void setMapperLocations(Resource[] mapperLocations); void setConfigurationProperties(Properties sqlSessionFactoryProperties); void setDataSource(DataSource dataSource); void setSqlSessionFactoryBuilder(SqlSessionFactoryBuilder sqlSessionFactoryBuilder); void setTransactionFactory(TransactionFactory transactionFactory); void setEnvironment(String environment); @Override void afterPropertiesSet(); @Override SqlSessionFactory getObject(); @Override Class<? extends SqlSessionFactory> getObjectType(); @Override boolean isSingleton(); @Override void onApplicationEvent(ApplicationEvent event);  }### Answer:
@Test void testDefaults() throws Exception { setupFactoryBean(); assertDefaultConfig(factoryBean.getObject()); }
@Test void testDefaultConfiguration() throws Exception { setupFactoryBean(); assertDefaultConfig(factoryBean.getObject()); }
@Test public void testDefaults() throws Exception { setupFactoryBean(); assertDefaultConfig(factoryBean.getObject()); }
@Test(expected = IllegalArgumentException.class) public void testNullDataSource() throws Exception { factoryBean = new SqlSessionFactoryBean(); factoryBean.getObject(); }
@Test public void testDefaultConfiguration() throws Exception { setupFactoryBean(); assertDefaultConfig(factoryBean.getObject()); }