### Question:
ExpressionUtil { static public FieldValue evaluateConstant(Constant constant, EvaluationContext context){ String value = constant.getValue(); DataType dataType = constant.getDataType(); if(dataType == null){ dataType = TypeUtil.getConstantDataType(value); } return FieldValueUtil.create(dataType, null, value); } private  ExpressionUtil(); static FieldValue evaluate(FieldName name, EvaluationContext context); static FieldValue evaluate(DerivedField derivedField, EvaluationContext context); static FieldValue evaluate(Expression expression, EvaluationContext context); static FieldValue evaluateConstant(Constant constant, EvaluationContext context); static FieldValue evaluateFieldRef(FieldRef fieldRef, EvaluationContext context); static FieldValue evaluateNormContinuous(NormContinuous normContinuous, EvaluationContext context); static FieldValue evaluateNormDiscrete(NormDiscrete normDiscrete, EvaluationContext context); static FieldValue evaluateDiscretize(Discretize discretize, EvaluationContext context); static FieldValue evaluateMapValues(MapValues mapValues, EvaluationContext context); static FieldValue evaluateApply(Apply apply, EvaluationContext context); @SuppressWarnings ( value = {"rawtypes", "unchecked"} ) static FieldValue evaluateAggregate(Aggregate aggregate, EvaluationContext context);  }### Answer:
@Test public void evaluateConstant(){ Constant stringThree = new Constant("3"); stringThree.setDataType(DataType.STRING); assertEquals("3", evaluate(stringThree, null)); Constant integerThree = new Constant("3"); integerThree.setDataType(DataType.INTEGER); assertEquals(3, evaluate(integerThree, null)); Constant floatThree = new Constant("3"); floatThree.setDataType(DataType.FLOAT); assertEquals(3f, evaluate(floatThree, null)); }