### Question:
DataTypeListItemView implements DataTypeListItem.View { void setupReadOnlyCSSClass(final DataType dataType) { final String readOnlyCSSClass = "read-only"; if (dataType.isReadOnly() || readOnlyProvider.isReadOnlyDiagram()) { getDragAndDropElement().classList.add(readOnlyCSSClass); } else { getDragAndDropElement().classList.remove(readOnlyCSSClass); } } @Inject  DataTypeListItemView(final HTMLDivElement view,
                                final TranslationService translationService,
                                final @DMNEditor ReadOnlyProvider readOnlyProvider); @Override void init(final DataTypeListItem presenter); @Override HTMLElement getElement(); @Override void toggleArrow(final boolean show); @Override void expand(); @Override void collapse(); @Override void showEditButton(); @Override void showSaveButton(); @Override void enableFocusMode(); @Override void disableFocusMode(); @Override boolean isOnFocusMode(); @Override String getName(); @Override void setName(final String name); @Override void showDataTypeNameInput(); @Override void hideDataTypeNameInput(); @Override void setupSelectComponent(final DataTypeSelect typeSelect); @Override void setupConstraintComponent(final DataTypeConstraint dataTypeConstraintComponent); @Override void setupListComponent(final SmallSwitchComponent dataTypeListComponent); @Override void showListContainer(); @Override void hideListContainer(); @Override void showListYesLabel(); @Override void hideListYesLabel(); @Override boolean isCollapsed(); @Override void setDataType(final DataType dataType); static final String UUID_ATTR; static final String NAME_DATA_FIELD; static final String PARENT_UUID_ATTR; }### Answer:
@Test public void testSetupReadOnlyCSSClassWhenDataTypeHasSubDataTypes() { final DataType dataType = mock(DataType.class); dragAndDropElement.classList = mock(DOMTokenList.class); when(dataType.isReadOnly()).thenReturn(true); view.setupReadOnlyCSSClass(dataType); verify(dragAndDropElement.classList).add("read-only"); }
@Test public void testSetupReadOnlyCSSClassWhenIsReadOnlyDiagram() { final DataType dataType = mock(DataType.class); dragAndDropElement.classList = mock(DOMTokenList.class); when(dataType.isReadOnly()).thenReturn(false); when(readOnlyProvider.isReadOnlyDiagram()).thenReturn(true); view.setupReadOnlyCSSClass(dataType); verify(dragAndDropElement.classList).add("read-only"); }
@Test public void testSetupReadOnlyCSSClassWhenDataTypeDoesNotHaveSubDataTypes() { final DataType dataType = mock(DataType.class); dragAndDropElement.classList = mock(DOMTokenList.class); when(dataType.isReadOnly()).thenReturn(false); view.setupReadOnlyCSSClass(dataType); verify(dragAndDropElement.classList).remove("read-only"); }