### Question:
DataTypeListHighlightHelper { public void highlightLevel(final Element element) { getDataTypeListItem(getUUID(element)).ifPresent(listItem -> { cleanLevelHighlightClass(); highlightLevel(dataTypeUtils.getTopLevelParent(listItem.getDataType())); }); } @Inject  DataTypeListHighlightHelper(final DataTypeUtils dataTypeUtils); void init(final DataTypeList dataTypeList); void highlightLevel(final Element element); void highlight(final Element element); void cleanHighlightClass(); void cleanLevelHighlightClass(); DataTypeList getDataTypeList();  }### Answer:
@Test public void testHighlightLevel() { final DataTypeListItem personListItem = mock(DataTypeListItem.class); final DataTypeListItem personNameListItem = mock(DataTypeListItem.class); final DataTypeListItem parsonAgeListItem = mock(DataTypeListItem.class); final DataType personDataType = mock(DataType.class); final DataType personNameDataType = mock(DataType.class); final DataType parsonAgeDataType = mock(DataType.class); final String personUUID = "0000"; final String personNameUUID = "1111"; final String parsonAgeUUID = "2222"; final HTMLElement personElement = mock(HTMLElement.class); final HTMLElement personNameElement = mock(HTMLElement.class); final HTMLElement parsonAgeElement = mock(HTMLElement.class); doReturn(Optional.of(personListItem)).when(helper).getDataTypeListItem(personUUID); doReturn(Optional.of(personNameListItem)).when(helper).getDataTypeListItem(personNameUUID); doReturn(Optional.of(parsonAgeListItem)).when(helper).getDataTypeListItem(parsonAgeUUID); doNothing().when(helper).cleanLevelHighlightClass(); doNothing().when(helper).appendBackgroundLine(any(), any()); personElement.classList = mock(DOMTokenList.class); personNameElement.classList = mock(DOMTokenList.class); parsonAgeElement.classList = mock(DOMTokenList.class); when(personElement.getAttribute(UUID_ATTR)).thenReturn(personUUID); when(personNameElement.getAttribute(UUID_ATTR)).thenReturn(personNameUUID); when(parsonAgeElement.getAttribute(UUID_ATTR)).thenReturn(parsonAgeUUID); when(personDataType.getUUID()).thenReturn(personUUID); when(personNameDataType.getUUID()).thenReturn(personNameUUID); when(parsonAgeDataType.getUUID()).thenReturn(parsonAgeUUID); when(personDataType.isTopLevel()).thenReturn(true); when(personNameDataType.isTopLevel()).thenReturn(false); when(parsonAgeDataType.isTopLevel()).thenReturn(false); when(personListItem.getDataType()).thenReturn(personDataType); when(personNameListItem.getDataType()).thenReturn(personNameDataType); when(parsonAgeListItem.getDataType()).thenReturn(parsonAgeDataType); when(personListItem.getDragAndDropElement()).thenReturn(personElement); when(personNameListItem.getDragAndDropElement()).thenReturn(personNameElement); when(parsonAgeListItem.getDragAndDropElement()).thenReturn(parsonAgeElement); when(personDataType.getSubDataTypes()).thenReturn(asList(personNameDataType, parsonAgeDataType)); when(dataTypeUtils.getTopLevelParent(personNameDataType)).thenReturn(personDataType); helper.highlightLevel(personNameElement); verify(helper).cleanLevelHighlightClass(); verify(helper, times(1)).appendBackgroundLine(personDataType, personElement); verify(personElement.classList).add(LEVEL_HIGHLIGHT); verify(personNameElement.classList).add(LEVEL_HIGHLIGHT); verify(parsonAgeElement.classList).add(LEVEL_HIGHLIGHT); }