@Test
    void verifyAcceptsMultiValuedRequestParameter() throws Exception {
        val filter = new RequestParameterPolicyEnforcementFilter();
        val filterConfig = new MockFilterConfig();
        filterConfig.addInitParameter(RequestParameterPolicyEnforcementFilter.ALLOW_MULTI_VALUED_PARAMETERS, "true");
        try {
            filter.init(filterConfig);
        } catch (final Exception e) {
            fail("Should not have failed filter init.");
        }

        val requestParameterMap = new HashMap<String, String[]>();
        requestParameterMap.put("someName", new String[]{"someValue", "someOtherValue"});

        val request = new MockHttpServletRequest();
        request.addParameters(requestParameterMap);

        val response = new MockHttpServletResponse();
        val chain = new MockFilterChain();
        filter.doFilter(request, response, chain);
    }
Tests the {@link RequestParameterPolicyEnforcementFilter}.
<p>
First there are test cases for the Filter as a whole against the Filter API.  The advantage of these is that they
are testing at the level we care about, the way the filter will actually be used,
against the API it really exposes to adopters.  So, great.  The disadvantage of these is that it's
<p>
Then there are test cases for bits of the implementation of the filter (namely, configuration parsing and policy
enforcement).

@author Andrew Petro
@author Misagh Moayyed
@since 6.1
core/cas-server-core-web-api/src/test/java/org/apereo/cas/web/support/filters/RequestParameterPolicyEnforcementFilterTests.java