### Question:
DefaultHttpResponse extends DefaultHttpMessage implements HttpResponse { @Override public boolean equals(Object o) { if (!(o instanceof DefaultHttpResponse)) { return false; } DefaultHttpResponse other = (DefaultHttpResponse) o; return status.equals(other.status()) && super.equals(o); } DefaultHttpResponse(HttpVersion version, HttpResponseStatus status);  DefaultHttpResponse(HttpVersion version, HttpResponseStatus status, boolean validateHeaders);  DefaultHttpResponse(HttpVersion version, HttpResponseStatus status, boolean validateHeaders,
                               boolean singleFieldHeaders);  DefaultHttpResponse(HttpVersion version, HttpResponseStatus status, HttpHeaders headers); @Override @Deprecated HttpResponseStatus getStatus(); @Override HttpResponseStatus status(); @Override HttpResponse setStatus(HttpResponseStatus status); @Override HttpResponse setProtocolVersion(HttpVersion version); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object o);  }### Answer:
@Test public void testEquals() { HttpResponse ok = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); HttpResponse ok2 = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); assertEquals(ok, ok2); assertEquals(ok.hashCode(), ok2.hashCode()); }