### Question:
AbstractHttpCache implements HttpCache { public HttpResponse removeResponse(HttpRequest request) { String keyString = createKey(request); HttpResponse response = getResponseImpl(keyString); removeResponseImpl(keyString); if (responseStillUsable(response)) { return response; } return null; }  final HttpResponse getResponse(HttpRequest request); boolean addResponse(HttpRequest request, HttpResponse response); HttpResponse removeResponse(HttpRequest request); String createKey(HttpRequest request);  }### Answer:
@Test public void removeResponse() { HttpRequest request = new HttpRequest(DEFAULT_URI); String key = cache.createKey(request); HttpResponse response = new HttpResponse("result"); cache.map.put(key, response); assertEquals(response, cache.removeResponse(request)); assertEquals(0, cache.map.size()); }