package org.springmodules.jsr94.factory;
import javax.rules.RuleServiceProvider;
public class DefaultRuleServiceProviderFactoryBeanTests extends AbstractRuleServiceProviderTests {
public void testAfterPropertiesSet() throws Exception {
DefaultRuleServiceProviderFactoryBean bean = new DefaultRuleServiceProviderFactoryBean();
try {
bean.afterPropertiesSet();
fail("No provider or providerClass set");
}
catch (IllegalArgumentException ex) {
// expected
}
try {
bean.setProvider(PROVIDER);
bean.afterPropertiesSet();
fail("No providerClass set");
}
catch (IllegalArgumentException ex) {
// expected
}
bean.setProviderClass(PROVIDER_CLASS);
bean.afterPropertiesSet();
RuleServiceProvider provider = (RuleServiceProvider) bean.getObject();
assertNotNull("Provider is null", provider);
assertEquals("Incorrect provider", PROVIDER_CLASS, provider.getClass().getName());
bean.destroy();
try {
bean.getObject();
fail("Destroyed factory must not return objects");
}
catch (IllegalStateException ex) {
// expected
}
}
}