@Test
  public void compare() {
    HttpServletRequest request = new MockHttpServletRequest();

    RequestConditionHolder params11 = new RequestConditionHolder(new ParamsRequestCondition("1"));
    RequestConditionHolder params12 =
        new RequestConditionHolder(new ParamsRequestCondition("1", "2"));

    assertEquals(1, params11.compareTo(params12, request));
    assertEquals(-1, params12.compareTo(params11, request));
  }
  @Test
  public void compareEmpty() {
    HttpServletRequest request = new MockHttpServletRequest();

    RequestConditionHolder empty = new RequestConditionHolder(null);
    RequestConditionHolder empty2 = new RequestConditionHolder(null);
    RequestConditionHolder notEmpty =
        new RequestConditionHolder(new ParamsRequestCondition("name"));

    assertEquals(0, empty.compareTo(empty2, request));
    assertEquals(-1, notEmpty.compareTo(empty, request));
    assertEquals(1, empty.compareTo(notEmpty, request));
  }
 @Test(expected = ClassCastException.class)
 public void compareIncompatible() {
   RequestConditionHolder params = new RequestConditionHolder(new ParamsRequestCondition("name"));
   RequestConditionHolder headers =
       new RequestConditionHolder(new HeadersRequestCondition("name"));
   params.compareTo(headers, new MockHttpServletRequest());
 }