### Question:
ValueEventTransformer implements ValueTransformationRule { @Override public Map<String, Object> transform(Map<String, Object> event) { for (UnitTransformationRule unitRule : unitTransformationRules) { event = unitRule.transform(event); } for (TimestampTranformationRule unitRule : timestampTranformationRules) { event = unitRule.transform(event); } return event; } ValueEventTransformer(List<ValueTransformationRule> rules); @Override Map<String, Object> transform(Map<String, Object> event); List<UnitTransformationRule> getUnitTransformationRules(); void setUnitTransformationRules(List<UnitTransformationRule> unitTransformationRules); List<TimestampTranformationRule> getTimestampTranformationRules(); void setTimestampTranformationRules(List<TimestampTranformationRule> timestampTranformationRules);  }### Answer:
@Test public void transform() { EventSchema eventSchema = new EventSchema(); EventProperty eventPropertyf = new EventPropertyPrimitive(); eventPropertyf.setLabel("a"); eventPropertyf.setRuntimeName("a"); eventSchema.addEventProperty(eventPropertyf); Map<String, Object> event = new HashMap<>(); event.put("a", 273.15); List<String> keys = new ArrayList<>(); keys.add("a"); List<ValueTransformationRule> rules = new ArrayList<>(); rules.add(new UnitTransformationRule(keys, "http: ValueEventTransformer eventTransformer = new ValueEventTransformer(rules); Map<String, Object> result = eventTransformer.transform(event); assertEquals(0.0, result.get(eventPropertyf.getRuntimeName())); }