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