### Question:
DMNDataTypesSubIndex implements DMNSubIndex { void highlight(final DataTypeListItem item) { expandParents(item); dataTypeShortcuts.highlight(item.getDragAndDropElement()); } @Inject  DMNDataTypesSubIndex(final DataTypeList dataTypeList,
                                final DataTypeShortcuts dataTypeShortcuts,
                                final DataTypeStore dataTypeStore); @Override List<DMNSearchableElement> getSearchableElements(); @Override void onNoResultsFound();  }### Answer:
@Test public void testHighlight() { final DataTypeListItem listItem = mock(DataTypeListItem.class); final DataTypeListItem parentListItem = mock(DataTypeListItem.class); final DataType dataType = mock(DataType.class); final DataType parent = mock(DataType.class); final HTMLElement htmlElement = mock(HTMLElement.class); final String parentUUID = "parentUUID"; final String dataTypeUUID = "dataTypeUUID"; when(listItem.getDataType()).thenReturn(dataType); when(parentListItem.getDataType()).thenReturn(parent); when(listItem.getDragAndDropElement()).thenReturn(htmlElement); when(dataType.getParentUUID()).thenReturn(parentUUID); when(dataType.getUUID()).thenReturn(dataTypeUUID); when(parent.getUUID()).thenReturn(parentUUID); when(dataTypeStore.get(parentUUID)).thenReturn(parent); when(dataTypeStore.get(dataTypeUUID)).thenReturn(dataType); when(dataTypeList.getItems()).thenReturn(asList(listItem, parentListItem)); index.highlight(listItem); verify(listItem).expand(); verify(parentListItem).expand(); verify(dataTypeShortcuts).highlight(htmlElement); }