### Question:
ExpressionUtil { static public FieldValue evaluateMapValues(MapValues mapValues, EvaluationContext context){ Map<String, FieldValue> values = Maps.newLinkedHashMap(); List<FieldColumnPair> fieldColumnPairs = mapValues.getFieldColumnPairs(); for(FieldColumnPair fieldColumnPair : fieldColumnPairs){ FieldValue value = evaluate(fieldColumnPair.getField(), context); if(value == null){ return FieldValueUtil.create(mapValues.getDataType(), null, mapValues.getMapMissingTo()); } values.put(fieldColumnPair.getColumn(), value); } return DiscretizationUtil.mapValue(mapValues, values); } 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 evaluateMapValues(){ FieldName name = new FieldName("x"); MapValues expression = new MapValues(null); (expression.getFieldColumnPairs()).add(new FieldColumnPair(name, null)); assertEquals(null, evaluate(expression, createContext())); expression.setMapMissingTo("Missing"); assertEquals("Missing", evaluate(expression, createContext())); assertEquals(null, evaluate(expression, createContext(name, "3"))); expression.setDefaultValue("Default"); assertEquals("Default", evaluate(expression, createContext(name, "3"))); }