### Question:
UniqueColumnCombination implements Result { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((columnCombination == null) ? 0 : columnCombination .hashCode()); return result; } protected  UniqueColumnCombination();  UniqueColumnCombination(ColumnIdentifier... columnIdentifier);  UniqueColumnCombination(ColumnCombination columnCombination); ColumnCombination getColumnCombination(); void setColumnCombination(ColumnCombination columnCombination); @Override @XmlTransient void sendResultTo(OmniscientResultReceiver resultReceiver); @Override String toString(); String toString(Map<String, String> tableMapping, Map<String, String> columnMapping); static UniqueColumnCombination fromString(Map<String, String> tableMapping, Map<String, String> columnMapping, String str); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testEqualsHashCode() { ColumnIdentifier column11 = new ColumnIdentifier("table1", "column1"); ColumnIdentifier column12 = new ColumnIdentifier("table2", "column2"); ColumnIdentifier column13 = new ColumnIdentifier("table3", "column3"); UniqueColumnCombination expectedColumnCombination1 = new UniqueColumnCombination(column12, column13, column11); ColumnIdentifier column21 = new ColumnIdentifier("table1", "column1"); ColumnIdentifier column22 = new ColumnIdentifier("table2", "column2"); ColumnIdentifier column23 = new ColumnIdentifier("table3", "column3"); UniqueColumnCombination expectedColumnCombination2 = new UniqueColumnCombination(column21, column22, column23); UniqueColumnCombination expectedColumnCombinationNotEquals = new UniqueColumnCombination(column21, column23); assertEquals(expectedColumnCombination1, expectedColumnCombination1); assertEquals(expectedColumnCombination1.hashCode(), expectedColumnCombination1.hashCode()); assertNotSame(expectedColumnCombination1, expectedColumnCombination2); assertEquals(expectedColumnCombination1, expectedColumnCombination2); assertEquals(expectedColumnCombination1.hashCode(), expectedColumnCombination2.hashCode()); assertNotEquals(expectedColumnCombination1, expectedColumnCombinationNotEquals); assertNotEquals(expectedColumnCombination1.hashCode(), expectedColumnCombinationNotEquals.hashCode()); }