### Question:
SensorisProtobufSplittedUDFExample implements SplittedUDF { @Override public byte[] aggregate(Map<String, Object> keys, Iterator<byte[]> messages) { return combineDataMessages(messages); }  @Override Map<Map<String, Object>, byte[]> getSplittedKeys(
      Map<MetadataName, String> map, byte[] bytes); @Override byte[] aggregate(Map<String, Object> keys, Iterator<byte[]> messages); @Override byte[] merge(Map<String, Object> keys, Iterator<byte[]> files); static final double SENSORIS_GEOGRAPHIC_SURFACE_RESOLUTION; static final double SENSORIS_GEOGRAPHIC_ALTITUDE_RESOLUTION; }### Answer:
@Test public void testAggregate() throws InvalidProtocolBufferException { List<byte[]> list = Arrays.asList(b1, b2); Iterator<byte[]> it = list.iterator(); byte[] aggregatedByteArray = example.aggregate(new HashMap<>(), it); List<DataMessage> aggregatedMessageList = DataMessages.parseFrom(aggregatedByteArray).getDataMessageList(); assertEquals(m1, aggregatedMessageList.get(0)); assertEquals(m2, aggregatedMessageList.get(1)); }