@Override
  public String getName() {
    return FUNCTION_NAME;
  }
@Test
  public void testCaseTransformFunctionWithIntResults() {
    boolean[] predicateResults = new boolean[NUM_ROWS];
    Arrays.fill(predicateResults, true);
    testCaseQueries("true", predicateResults);
    Arrays.fill(predicateResults, false);
    testCaseQueries("false", predicateResults);

    for (TransformFunctionType functionType : BINARY_OPERATOR_TRANSFORM_FUNCTIONS) {
      testCaseQueries(String.format("%s(%s, %s)", functionType.getName(), INT_SV_COLUMN,
          String.format("%d", _intSVValues[INDEX_TO_COMPARE])), getPredicateResults(INT_SV_COLUMN, functionType));
      testCaseQueries(String.format("%s(%s, %s)", functionType.getName(), LONG_SV_COLUMN,
          String.format("%d", _longSVValues[INDEX_TO_COMPARE])), getPredicateResults(LONG_SV_COLUMN, functionType));
      testCaseQueries(String.format("%s(%s, %s)", functionType.getName(), FLOAT_SV_COLUMN,
              "CAST(" + String.format("%f", _floatSVValues[INDEX_TO_COMPARE]) + " AS FLOAT)"),
          getPredicateResults(FLOAT_SV_COLUMN, functionType));
      testCaseQueries(String.format("%s(%s, %s)", functionType.getName(), DOUBLE_SV_COLUMN,
              String.format("%.20f", _doubleSVValues[INDEX_TO_COMPARE])),
          getPredicateResults(DOUBLE_SV_COLUMN, functionType));
      testCaseQueries(String.format("%s(%s, %s)", functionType.getName(), STRING_SV_COLUMN,
              String.format("'%s'", _stringSVValues[INDEX_TO_COMPARE])),
          getPredicateResults(STRING_SV_COLUMN, functionType));
    }
  }