@Override
  public String getName() {
    return _name;
  }
@Test
  public void testBase64TransformFunction() {
    ExpressionContext expression = RequestContextUtils.getExpression(String.format("toBase64(%s)", BYTES_SV_COLUMN));
    TransformFunction transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
    assertTrue(transformFunction instanceof ScalarTransformFunctionWrapper);
    assertEquals(transformFunction.getName(), "toBase64");
    String[] expectedStringValues = new String[NUM_ROWS];
    for (int i = 0; i < NUM_ROWS; i++) {
      expectedStringValues[i] = Base64.getEncoder().encodeToString(_bytesSVValues[i]);
    }
    testTransformFunction(transformFunction, expectedStringValues);

    expression = RequestContextUtils.getExpression(String.format("fromBase64(toBase64(%s))", BYTES_SV_COLUMN));
    transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
    assertTrue(transformFunction instanceof ScalarTransformFunctionWrapper);
    assertEquals(transformFunction.getName(), "fromBase64");
    testTransformFunction(transformFunction, _bytesSVValues);

    expression = RequestContextUtils.getExpression(String.format("base64Encode(%s)", BYTES_SV_COLUMN));
    transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
    assertTrue(transformFunction instanceof ScalarTransformFunctionWrapper);
    assertEquals(transformFunction.getName(), "base64Encode");
    byte[][] expectedBytesValues = new byte[NUM_ROWS][];
    for (int i = 0; i < NUM_ROWS; i++) {
      expectedBytesValues[i] = Base64.getEncoder().encode(_bytesSVValues[i]);
    }
    testTransformFunction(transformFunction, expectedBytesValues);

    expression = RequestContextUtils.getExpression(String.format("base64Decode(base64Encode(%s))", BYTES_SV_COLUMN));
    transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
    assertTrue(transformFunction instanceof ScalarTransformFunctionWrapper);
    assertEquals(transformFunction.getName(), "base64Decode");
    testTransformFunction(transformFunction, _bytesSVValues);
  }