@Test public void testBooleanParameter() throws ServletRequestBindingException { MockHttpServletRequest request = new MockHttpServletRequest(); request.addParameter("param1", "true"); request.addParameter("param2", "e"); request.addParameter("param4", "yes"); request.addParameter("param5", "1"); request.addParameter("paramEmpty", ""); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param1").equals(Boolean.TRUE)); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param1", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param1")); assertFalse(ServletRequestUtils.getBooleanParameter(request, "param2", true)); assertFalse(ServletRequestUtils.getRequiredBooleanParameter(request, "param2")); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param3") == null); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param3", true)); try { ServletRequestUtils.getRequiredBooleanParameter(request, "param3"); fail("Should have thrown ServletRequestBindingException"); } catch (ServletRequestBindingException ex) { // expected } assertTrue(ServletRequestUtils.getBooleanParameter(request, "param4", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param4")); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param5", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param5")); assertFalse(ServletRequestUtils.getRequiredBooleanParameter(request, "paramEmpty")); }
@Test public void testGetBooleanParameterWithDefaultValueHandlingIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); MockHttpServletRequest request = new MockHttpServletRequest(); StopWatch sw = new StopWatch(); sw.start(); for (int i = 0; i < 1000000; i++) { ServletRequestUtils.getBooleanParameter(request, "nonExistingParam", false); } sw.stop(); System.out.println(sw.getTotalTimeMillis()); assertTrue( "getStringParameter took too long: " + sw.getTotalTimeMillis(), sw.getTotalTimeMillis() < 250); }