### Question:
ConvertRecord { public static void fillTodoCustomPropertyInfo(List<Obligation> obligations, List<PropertyWithValueAndId> customProperties, SetMultimap<String, Integer> obligCustomPropertyMap) { int nextPropertyId = 0; for(Obligation oblig : obligations){ if(oblig.isSetCustomPropertyToValue()){ for(Map.Entry<String, String> entry : oblig.getCustomPropertyToValue().entrySet()){ customProperties.add(new PropertyWithValueAndId(nextPropertyId, entry.getKey(), entry.getValue())); obligCustomPropertyMap.put(oblig.getId(), nextPropertyId); nextPropertyId++; } } } } private  ConvertRecord(); static Map<String, Set<String>> convertCustomProperties(List<CSVRecord> records); static Map<Integer, PropertyWithValue> convertCustomPropertiesById(List<CSVRecord> records); static void fillTodoCustomPropertyInfo(List<Obligation> obligations, List<PropertyWithValueAndId> customProperties, SetMultimap<String, Integer> obligCustomPropertyMap); static Serializer<PropertyWithValueAndId> customPropertiesSerializer(); static List<Obligation> convertTodos(List<CSVRecord> records); static Serializer<Obligation> obligSerializer(); static List<LicenseType> convertLicenseTypes(List<CSVRecord> records); static Serializer<LicenseType> licenseTypeSerializer(); static List<License> fillLicenses(List<CSVRecord> records, Map<Integer, LicenseType> licenseTypeMap, Map<Integer, Obligation> obligMap, Map<String, Set<Integer>> licenseTodo); static Serializer<License> licenseSerializer(); static Map<String, Set<Integer>> convertRelationalTable(List<CSVRecord> records); static Map<Integer, Set<Integer>> convertRelationalTableWithIntegerKeys(List<CSVRecord> records); @NotNull static SetMultimap<String, String> getLicenseToTodoMap(List<License> licenses); static List<List<String>> serialize(List<T> in, Serializer<T> serializer); static List<List<String>> serialize(List<T> in, List<String> headers, Function<T, List<String>> function); @NotNull static List<List<String>> serialize(SetMultimap<T, U> aToB, List<String> headers);  }### Answer:
@Test public void testFillTodoCustomPropertyInfoEmpty() throws Exception { List<ConvertRecord.PropertyWithValueAndId> customProperties = new ArrayList<>(); SetMultimap<String, Integer> obligCustomPropertyMap = HashMultimap.create(); fillTodoCustomPropertyInfo(Collections.EMPTY_LIST, customProperties, obligCustomPropertyMap); assertThat(customProperties.size(), is(0)); assertThat(obligCustomPropertyMap.size(), is(0)); }
@Test public void testFillTodoCustomPropertyInfoFull() throws Exception { List<ConvertRecord.PropertyWithValueAndId> customProperties = new ArrayList<>(); SetMultimap<String, Integer> obligCustomPropertyMap = HashMultimap.create(); fillTodoCustomPropertyInfo(obligations, customProperties, obligCustomPropertyMap); assertThat(customProperties.size(), is(3)); assertThat(obligCustomPropertyMap.size(), is(3)); int id = obligCustomPropertyMap.get("1").stream().findFirst().get(); assertThat(customProperties.get(id).getProperty(), is("A")); assertThat(customProperties.get(id).getValue(), is("A1")); }