@Test public void hashCode_GivenEqualObjects_ShouldReturnSameValue() { DefaultErrorModel dm = randomError(); DefaultErrorModel clone = clone(dm); Assert.assertEquals(dm.hashCode(), clone.hashCode()); }
@Override public int hashCode() { return Objects.hash(errorTime, level, name, message, rowTime, getDataRow(), pumpName); }
AbstractErrorModel { @Override public int hashCode() { return Objects.hash(errorTime, level, name, message, rowTime, getDataRow(), pumpName); } }
AbstractErrorModel { @Override public int hashCode() { return Objects.hash(errorTime, level, name, message, rowTime, getDataRow(), pumpName); }  }
AbstractErrorModel { @Override public int hashCode() { return Objects.hash(errorTime, level, name, message, rowTime, getDataRow(), pumpName); }  abstract TDataRow getDataRow(); Date getErrorTime(); void setErrorTime(Date errorTime); String getLevel(); void setLevel(String level); String getName(); void setName(String name); String getMessage(); void setMessage(String message); Date getRowTime(); void setRowTime(Date rowTime); String getPumpName(); void setPumpName(String pumpName); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); }
AbstractErrorModel { @Override public int hashCode() { return Objects.hash(errorTime, level, name, message, rowTime, getDataRow(), pumpName); }  abstract TDataRow getDataRow(); Date getErrorTime(); void setErrorTime(Date errorTime); String getLevel(); void setLevel(String level); String getName(); void setName(String name); String getMessage(); void setMessage(String message); Date getRowTime(); void setRowTime(Date rowTime); String getPumpName(); void setPumpName(String pumpName); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }