  @Test
  public final void bindRequestDetectPartiallyInvalid() {

    final HttpServletRequest request = createMock(HttpServletRequest.class);

    expect(request.getParameterMap())
        .andReturn(new HashMap<String, String[]>() {{
          put("name.toString()", new String[]{"Dhanji"});
          put("2 + 12", new String[]{"27"});
          put("#@!*^&", new String[]{"true"});
          put("id", new String[]{"12"});
          put("heig-ht", new String[]{"6.0"});
        }});

    replay(request);

    final AnObject o = new AnObject();
    final AnObject expected = new AnObject();
    expected.setId(12L);

    final Evaluator evaluator = Guice.createInjector()
        .getInstance(Evaluator.class);

    new MvelRequestBinder(evaluator, new Provider<FlashCache>() {
      public FlashCache get() {
        return new HttpSessionFlashCache();
      }
    }).bind(TestRequestCreator.from(request, null), o);
    System.out.println(o.getId());

    assert expected.equals(o) : "Invalid binding was allowed!";
  }