public void testEnsuresAccessDecisionManagerSupportsFilterInvocationClass() {
public void testEnsuresAccessDecisionManagerSupportsFilterInvocationClass() throws Exception {
    public void testEnsuresAccessDecisionManagerSupportsFilterInvocationClass() {        FilterSecurityInterceptor interceptor = new FilterSecurityInterceptor();        interceptor.setAuthenticationManager(new MockAuthenticationManager());        interceptor.setObjectDefinitionSource(new RegExpBasedFilterInvocationDefinitionMap());        interceptor.setRunAsManager(new MockRunAsManager());        interceptor.setAccessDecisionManager(new AccessDecisionManager() {                public boolean supports(Class clazz) {                    return false;                }                public boolean supports(ConfigAttribute attribute) {                    return true;                }                public void decide(Authentication authentication,                    Object object, ConfigAttributeDefinition config)                    throws AccessDeniedException {                    throw new UnsupportedOperationException(                        "mock method not implemented");                }            });        try {            interceptor.afterPropertiesSet();            fail("Should have thrown IllegalArgumentException");        } catch (IllegalArgumentException expected) {            assertEquals("AccessDecisionManager does not support secure object class: class net.sf.acegisecurity.intercept.web.FilterInvocation",                expected.getMessage());        }    }