### Question:
Not implements Clause, NeedsFutureClause { @Override public void setMissingClause(Clause clause) { if (this.comparison != null) { throw new IllegalArgumentException("NOT operation already has a comparison set"); } else if (clause instanceof Comparison) { this.comparison = (Comparison) clause; } else if (clause instanceof Exists) { this.exists = (Exists) clause; } else { throw new IllegalArgumentException("NOT operation can only work with comparison SQL clauses, not " + clause); } } Not();  Not(Clause clause); @Override void setMissingClause(Clause clause); @Override void appendSql(DatabaseType databaseType, String tableName, StringBuilder sb,
			List<ArgumentHolder> selectArgList); @Override String toString();  }### Answer:
@Test(expected = IllegalArgumentException.class) public void test() { Not not = new Not(); Clause clause = new Comparison() { @Override public void appendOperation(StringBuilder sb) { } @Override public void appendValue(DatabaseType databaseType, StringBuilder sb, List<ArgumentHolder> argList) { } @Override public String getColumnName() { return null; } @Override public void appendSql(DatabaseType databaseType, String tableName, StringBuilder sb, List<ArgumentHolder> argList) { } }; not.setMissingClause(clause); not.setMissingClause(clause); }
@Test(expected = IllegalArgumentException.class) public void testBaseNotClause() { Not not = new Not(); not.setMissingClause(new ManyClause((Clause) null, "AND")); }