public void testBuildLikeIn() {
   log("to test buildLikeIn()... ");
   String[] values = {"a", "b", "c"};
   ISQLLogic logic = SQLLogicBuilder.buildLikeIn("field", values);
   String strSQL = logic.toSQL(null);
   System.out.println(strSQL);
   assertEquals("((field LIKE '%a%') OR (field LIKE '%b%') OR (field LIKE '%c%'))", strSQL);
 }
  public void testAnd() {
    log("to test and()... ");

    ISQLLogic logic1 = SQLLogicBuilder.build("field", SQLOperator.GREATER_OR_EQUAL, 100);
    ISQLLogic logic2 = SQLLogicBuilder.build("filed", SQLOperator.NOT_EQUAL, false);

    // 1. and TRUE
    ISQLLogic logic = SQLLogicBuilder.and(logic1, SQLLogicString.TRUE);
    List params = new ArrayList();
    assertTrue(logic == logic1);

    // 2. and FALSE
    logic = SQLLogicBuilder.and(logic1, SQLLogicString.FALSE);
    assertTrue(logic == SQLLogicString.FALSE);

    // 3. TRUE and
    logic = SQLLogicBuilder.and(SQLLogicString.TRUE, logic2);
    assertTrue(logic == logic2);

    // 4. FALSE and
    logic = SQLLogicBuilder.and(SQLLogicString.FALSE, logic2);
    assertTrue(logic == SQLLogicString.FALSE);

    // 5. 1 and 2
    logic = SQLLogicBuilder.and(logic1, logic2);
    params.clear();
    assertEquals("field>=? AND filed<>?", logic.toSQL(params));
  }
  /*
   * Class under test for ISQLLogic build(String, int, int, Object)
   */
  public void testBuildStringintintObject() {
    Object values = new String[] {"1000", "150000"};
    ISQLLogic logic = SQLLogicBuilder.build("total", SQLOperator.BETWEEN, DataTypes.DOUBLE, values);

    List params = new ArrayList(2);
    System.out.println("SQL=" + logic.toSQL(params));
    for (int i = 0; i < params.size(); i++) {
      System.out.println("[param-" + i + "]=" + params.get(i).toString());
    }
  }
 public void testBuildIn() {
   Object[][] data = { //
     {new String[] {"a", "b", "c"}, "(f IN ('a','b','c'))"}, //
     {new String[] {"a", "b", null}, "((f IN ('a','b')) OR (f IS NULL))"}, //
   };
   for (int i = 0; i < data.length; i++) {
     ISQLLogic logic = SQLLogicBuilder.buildIn("f", DataTypes.STRING, (Object[]) data[i][0]);
     String strSQL = logic.toSQL(null);
     System.out.println("[" + i + "]SQL=" + strSQL);
     assertEquals((String) data[i][1], strSQL);
   }
 }
  public void testBuildInclude() {
    Object[] values =
        new Object[] { //
          new String[] {"a"}, //
          new String[] {"a", "b"}, //
          new String[] {"a", "b", "c"}, //
        };

    for (int i = 0; i < values.length; i++) {
      ISQLLogic logic = SQLLogicBuilder.buildInclude("embodyType", (Object[]) values[i]);
      System.out.println("[" + i + "]SQL=" + logic.toSQL(null));
    }
  }
 public void testBuildMultiple() {
   String[] values = {"a", "b", "c"};
   ISQLLogic logic = SQLLogicBuilder.build("x", SQLOperator.START_WITH, DataTypes.STRING, values);
   System.out.println(logic.toSQL(null));
 }