### Question:
AbstractHttpCache implements HttpCache { public final HttpResponse getResponse(HttpRequest request) { if (isCacheable(request)) { String keyString = createKey(request); HttpResponse cached = getResponseImpl(keyString); if (responseStillUsable(cached)) { return cached; } } 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 getResponse() { HttpRequest request = new HttpRequest(DEFAULT_URI); String key = cache.createKey(request); HttpResponse response = new HttpResponse("result"); cache.map.put(key, response); assertEquals(response, cache.getResponse(request)); }