### Question:
DataTypeUtils { public List<DataType> customDataTypes() { return dataTypeStore .getTopLevelDataTypes() .stream() .sorted(Comparator.comparing(DataType::getName)) .collect(Collectors.toList()); } @Inject  DataTypeUtils(final DataTypeStore dataTypeStore,
                         final DataTypeManager dataTypeManager); DataType getTopLevelParent(final DataType dataType); List<DataType> defaultDataTypes(); List<DataType> customDataTypes();  }### Answer:
@Test public void testCustomDataTypes() { final DataType dataType1 = mock(DataType.class); final DataType dataType2 = mock(DataType.class); final List<DataType> unorderedDataTypes = asList(dataType1, dataType2); final List<DataType> expectedDataTypes = asList(dataType2, dataType1); when(dataTypeStore.getTopLevelDataTypes()).thenReturn(unorderedDataTypes); when(dataType1.getName()).thenReturn("z"); when(dataType2.getName()).thenReturn("a"); final List<DataType> actualDataTypes = utils.customDataTypes(); assertEquals(expectedDataTypes, actualDataTypes); }