### Question:
Cond extends Clause { public static Cond notIn(String field, Collection params) { return notIn(field, params, true); } private  Cond(); private  Cond(String sql); private  Cond(String sql,
      Object param,
      Object... params); private  Cond(String sql,
      Collection params); static Cond logicalDeleteCond(ClassMeta classMeta); static Cond eq(String field,
      Object param); static Cond eq(String field,
      Object param,
      boolean ignoreNull); static Cond ne(String field,
      Object param); static Cond ne(String field,
      Object param,
      boolean ignoreNull); static Cond isNull(String field); static Cond isNotNull(String field); static Cond gt(String field,
      Object param); static Cond ge(String field,
      Object param); static Cond lt(String field,
      Object param); static Cond le(String field,
      Object param); static Cond like(String field,
      Object param); static Cond between(String field,
      Object param1,
      Object param2); static Cond in(String field,
      Collection params); static Cond in(String field,
      Collection params,
      boolean ignoreEmpty); static Cond in(String field,
      Sql sql); static Cond notIn(String field,
      Collection params); static Cond notIn(String field,
      Collection params,
      boolean ignoreEmpty); static Cond notIn(String field,
      Sql sql); static Cond exists(Sql subSql); static Cond exists(Supplier<Sql> supplier); static Cond notExists(Sql subSql); static Cond notExists(Supplier<Sql> supplier); Cond and(Cond cond); Cond or(Cond cond); static Cond create(Object object); static Cond create(Object object,
      String conditionGroup); @Override String toString();  }### Answer:
@Test public void notIn() { List list = new ArrayList(); Cond cond = Cond.notIn("code", list); Assert.assertEquals(cond.sql.toString(), ""); cond = Cond.notIn("code", list, false); Assert.assertEquals(cond.sql.toString(), " 1 > 2"); list.add("A"); cond = Cond.notIn("code", list); Assert.assertEquals(cond.sql.toString(), " code <> ?"); list.add("B"); cond = Cond.notIn("code", list); Assert.assertEquals(cond.sql.toString(), " code NOT IN (?,?)"); Assert.assertEquals(2, cond.params.size()); Sql sql = Sql.Select("*") .from("dept"); cond = Cond.notIn("code", sql); Assert.assertEquals(cond.sql.toString(), " code NOT IN (SELECT * FROM dept)"); }