### Question:
ForeignKey implements TableKey { @Override public int hashCode() { final int initialOddNum = 31; final int multiplierOddNum = 17; return new HashCodeBuilder(initialOddNum, multiplierOddNum) .append(fkColumnName) .append(fkTableName) .append(pkColumnName) .append(pkTableName) .toHashCode(); } ForeignKey(String fkTableName, String fkColumnName, String pkTableName, String pkColumnName); @Override String toString(); @Override int hashCode(); @Override boolean equals(final Object obj); String getFkTableName(); String getFkColumnName(); String getPkTableName(); String getPkColumnName();  }### Answer:
@Test public void twoEqualTableForeignKeyAreEquals() { assertEquals(sut1, sut2); assertEquals(sut1.hashCode(), sut2.hashCode()); }