public void testLocalSessionFactoryBeanWithNamingStrategy() throws Exception {
   LocalSessionFactoryBean sfb =
       new LocalSessionFactoryBean() {
         protected Configuration newConfiguration() {
           return new Configuration() {
             public Configuration setNamingStrategy(NamingStrategy namingStrategy) {
               throw new IllegalArgumentException(namingStrategy.toString());
             }
           };
         }
       };
   sfb.setMappingResources(new String[0]);
   sfb.setDataSource(new DriverManagerDataSource());
   sfb.setNamingStrategy(ImprovedNamingStrategy.INSTANCE);
   try {
     sfb.afterPropertiesSet();
     fail("Should have thrown IllegalArgumentException");
   } catch (IllegalArgumentException ex) {
     // expected
     assertTrue(
         "Correct exception", ex.getMessage().equals(ImprovedNamingStrategy.INSTANCE.toString()));
   }
 }