### Question:
InclusionDependency implements Result { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((dependant == null) ? 0 : dependant.hashCode()); result = prime * result + ((referenced == null) ? 0 : referenced.hashCode()); return result; } protected  InclusionDependency();  InclusionDependency(ColumnPermutation dependant,
                             ColumnPermutation referenced); ColumnPermutation getDependant(); void setDependant(ColumnPermutation dependant); ColumnPermutation getReferenced(); void setReferenced(ColumnPermutation referenced); @Override @XmlTransient void sendResultTo(OmniscientResultReceiver resultReceiver); @Override String toString(); String toString(Map<String, String> tableMapping, Map<String, String> columnMapping); static InclusionDependency fromString(Map<String, String> tableMapping, Map<String, String> columnMapping, String str); @Override int hashCode(); @Override boolean equals(Object obj); static final String IND_SEPARATOR; static final String IND_SEPARATOR_ESC; }### Answer:
@Test public void testEqualsHashCode() { InclusionDependency expectedInd = new InclusionDependency( new ColumnPermutation( new ColumnIdentifier("table1", "column2")), new ColumnPermutation( new ColumnIdentifier("table2", "column47")) ); InclusionDependency expectedEqualInd = new InclusionDependency( new ColumnPermutation( new ColumnIdentifier("table1", "column2")), new ColumnPermutation( new ColumnIdentifier("table2", "column47")) ); InclusionDependency expectedNotEqualDependantInd = new InclusionDependency( new ColumnPermutation( new ColumnIdentifier("table1", "column4")), new ColumnPermutation( new ColumnIdentifier("table2", "column47")) ); InclusionDependency expectedNotEqualReferencedInd = new InclusionDependency( new ColumnPermutation( new ColumnIdentifier("table1", "column2")), new ColumnPermutation( new ColumnIdentifier("table5", "column47")) ); assertEquals(expectedInd, expectedInd); assertEquals(expectedInd.hashCode(), expectedInd.hashCode()); assertNotSame(expectedInd, expectedEqualInd); assertEquals(expectedInd, expectedEqualInd); assertEquals(expectedInd.hashCode(), expectedEqualInd.hashCode()); assertNotEquals(expectedInd, expectedNotEqualDependantInd); assertNotEquals(expectedInd.hashCode(), expectedNotEqualDependantInd.hashCode()); assertNotEquals(expectedInd, expectedNotEqualReferencedInd); assertNotEquals(expectedInd.hashCode(), expectedNotEqualReferencedInd.hashCode()); }