### Question:
AbstractMappedValueTransformer implements ValueTransformer<T> { @Override public final T transform(final String input) { return valueMap.containsKey(input) ? valueMap.get(input) : defaultValue; } protected  AbstractMappedValueTransformer(final Map<String, T> valMap); protected  AbstractMappedValueTransformer(final Map<String, T> valMap, final T defVal); @Override final T transform(final String input); @JsonProperty("valueMap") final Map<String, T> getValueMap(); @JsonProperty("defaultValue") final T getDefaultValue();  }### Answer:
@Test public void testTransform() { doTestTransform("no default provided", createXform(testMap), null); doTestTransform("null default provided", createXform(testMap, null), null); doTestTransform("non-null default provided", createXform(testMap, nonNullDefaultValue), nonNullDefaultValue); }