@SuppressWarnings("unchecked")
  @Test
  public void headerContains() throws Exception {
    this.request.getHeaders().put("foo", Arrays.asList("bar", "baz"));

    MockRestRequestMatchers.header("foo", containsString("ba")).match(this.request);
  }
  @SuppressWarnings("unchecked")
  @Test(expected = AssertionError.class)
  public void headerContainsWithMissingValue() throws Exception {
    this.request.getHeaders().put("foo", Arrays.asList("bar", "baz"));

    MockRestRequestMatchers.header("foo", containsString("bx")).match(this.request);
  }
  @Test(expected = AssertionError.class)
  public void headerMissingValue() throws Exception {
    this.request.getHeaders().put("foo", Arrays.asList("bar", "baz"));

    MockRestRequestMatchers.header("foo", "bad").match(this.request);
  }
 @Test(expected = AssertionError.class)
 public void headerMissing() throws Exception {
   MockRestRequestMatchers.header("foo", "bar").match(this.request);
 }
  @Test
  public void header() throws Exception {
    this.request.getHeaders().put("foo", Arrays.asList("bar", "baz"));

    MockRestRequestMatchers.header("foo", "bar", "baz").match(this.request);
  }
  @Test(expected = AssertionError.class)
  public void methodNoMatch() throws Exception {
    this.request.setMethod(HttpMethod.POST);

    MockRestRequestMatchers.method(HttpMethod.GET).match(this.request);
  }
  @Test
  public void method() throws Exception {
    this.request.setMethod(HttpMethod.GET);

    MockRestRequestMatchers.method(HttpMethod.GET).match(this.request);
  }
  @Test
  public void requestToContains() throws Exception {
    this.request.setURI(new URI("http://foo.com/bar"));

    MockRestRequestMatchers.requestTo(containsString("bar")).match(this.request);
  }
  @Test(expected = AssertionError.class)
  public void requestToNoMatch() throws Exception {
    this.request.setURI(new URI("http://foo.com/bar"));

    MockRestRequestMatchers.requestTo("http://foo.com/wrong").match(this.request);
  }
 @SuppressWarnings("unchecked")
 @Test(expected = AssertionError.class)
 public void headerContainsWithMissingHeader() throws Exception {
   MockRestRequestMatchers.header("foo", containsString("baz")).match(this.request);
 }