public void testImplicitParams() throws Exception {
    HttpServletRequest request = createMock(HttpServletRequest.class);
    expect(request.getParameterNames())
        .andReturn(
            new Enumeration<String>() {

              private String[] list = {"one", "two"};
              int index;

              public boolean hasMoreElements() {
                return (index < list.length);
              }

              public String nextElement() {
                final String string = list[index];
                index++;
                return string;
              }
            });

    expect(request.getParameter("one")).andReturn("v1");
    expect(request.getParameter("two")).andReturn("v2");

    replay(request);
    final ModelMap modelMap = new ModelMap();
    RequestModelHelper.setParameters(request, modelMap);
    assertEquals(2, modelMap.size());
    verify(request);
  }
  public void testSetParameters() {
    HttpServletRequest request = createMock(HttpServletRequest.class);
    HashMap<String, Object> model = new HashMap<String, Object>();
    model.put("p2", "2a");
    model.put("p3", null);

    expect(request.getParameterNames())
        .andReturn(Collections.enumeration(Arrays.asList("p1", "p2", "p3", "p4")));
    expect(request.getParameter("p1")).andReturn("1");
    // expect(request.getParameter("p2")).andReturn("2");
    // expect(request.getParameter("p3")).andReturn("3");
    expect(request.getParameter("p4")).andReturn("");

    replay(request);

    RequestModelHelper.setParameters(request, model);

    assertEquals(4, model.size());
    assertEquals("1", model.get("p1"));
    assertEquals("2a", model.get("p2"));
    assertEquals(null, model.get("p3"));
    assertEquals("", model.get("p4"));

    verify(request);
  }
 public void testIsRedirect() throws Exception {
   assertTrue(RequestModelHelper.isRedirect(new ModelAndView(new RedirectView())));
   assertTrue(RequestModelHelper.isRedirect(new ModelAndView("redirect:view")));
   assertFalse(RequestModelHelper.isRedirect(new ModelAndView("view")));
 }