### Question:
ColumnDifference { public void setColumns(TableColumnInfo c1, TableColumnInfo c2) { if (c1 == null || c2 == null) { throw new IllegalArgumentException("c1, c2 cannot be null"); } if (!c1.getColumnName().equals(c2.getColumnName())) { throw new IllegalArgumentException("Columns to be compared must have the same column name"); } setColumn1(c1); setColumn2(c2); } ColumnDifference(); void setColumns(TableColumnInfo c1, TableColumnInfo c2); void setColumn1(TableColumnInfo c1); void setColumn2(TableColumnInfo c2); int getCol1Type(); int getCol1Length(); boolean col1AllowsNull(); int getCol2Type(); int getCol2Length(); boolean col2AllowsNull(); String getCol1Remarks(); String getCol2Remarks(); String getCol1Default(); String getCol2Default(); boolean execute(); void setTableName(String tableName); String getTableName(); void setColumnName(String columnName); String getColumnName(); void setCol1Exists(boolean col1Exists); boolean isCol1Exists(); void setCol2Exists(boolean col2Exists); boolean isCol2Exists(); boolean defaultsEqual(); boolean remarksEqual(); boolean typesEqual(); boolean lengthsEqual(); boolean nullableEqual(); @Override String toString();  }### Answer:
@Test(expected = IllegalArgumentException.class) public final void testSetColumnsNullCol1() { columnDifference.setColumns(null, mockIntegerCol1Table1); }
@Test(expected = IllegalArgumentException.class) public final void testSetColumnsNullCol2() { columnDifference.setColumns(mockVarcharCol1Table1, null); }
@Test(expected = IllegalArgumentException.class) public final void testSetColumnsDifferentColumnName() { columnDifference.setColumns(mockVarcharCol1Table1, mockVarcharCol2Table1); }
@Test public final void testSetColumns() { columnDifference.setColumns(mockVarcharCol1Table1, mockIntegerCol1Table1); assertEquals(10, columnDifference.getCol1Length()); assertEquals(10, columnDifference.getCol2Length()); assertEquals(VARCHAR, columnDifference.getCol1Type()); assertEquals(INTEGER, columnDifference.getCol2Type()); assertEquals(true, columnDifference.col1AllowsNull()); assertEquals(true, columnDifference.col2AllowsNull()); }