@Test
public void anImplementation() throws IOException, InterruptedException, ExecutionException {

    server.enqueue(new MockResponse().setBody("{\"theName\":\"value\"}"));
    GsonRequest<AnImplementation> request =
            new GsonRequest<AnImplementation>(Request.Method.POST,
                    server.url("").toString(), AnImplementation.class)
                    .setRequestData(new AnImplementation("value"), gson);
    AnImplementation body = queue.add(request)
            .getFuture().get();
    assertThat(body.theName).isEqualTo("value");
    RecordedRequest sRequest = server.takeRequest();
    assertThat(sRequest.getBody().readUtf8()).isEqualTo("{\"theName\":\"value\"}");
    assertThat(sRequest.getHeader("Content-Type")).isEqualTo("application/json; charset=UTF-8");
    assertThat(sRequest.getHeader("Accept")).isEqualTo("application/json");
}