@Override
  public TransformResultMetadata getResultMetadata() {
    return new TransformResultMetadata(_lookupColumnFieldSpec.getDataType(),
        _lookupColumnFieldSpec.isSingleValueField(), false);
  }
@Test
  public void resultDataTypeTest()
      throws Exception {
    HashMap<String, FieldSpec.DataType> testCases = new HashMap<String, FieldSpec.DataType>() {{
      put("teamName", FieldSpec.DataType.STRING);
      put("teamInteger", FieldSpec.DataType.INT);
      put("teamFloat", FieldSpec.DataType.FLOAT);
      put("teamLong", FieldSpec.DataType.LONG);
      put("teamDouble", FieldSpec.DataType.DOUBLE);
    }};

    for (Map.Entry<String, FieldSpec.DataType> testCase : testCases.entrySet()) {
      ExpressionContext expression = RequestContextUtils.getExpression(
          String.format("lookup('baseballTeams','%s','teamID',%s)", testCase.getKey(), STRING_SV_COLUMN));
      TransformFunction transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
      Assert.assertEquals(transformFunction.getResultMetadata().getDataType(), testCase.getValue(),
          String.format("Expecting %s data type for lookup column: '%s'", testCase.getKey(), testCase.getValue()));
    }
  }