### Question:
DataTypeListShortcutsView implements DataTypeListShortcuts.View { @Override public List<DataTypeListItem> getVisibleDataTypeListItems() { return getVisibleDataTypeRows() .stream() .map(this::getUUID) .map(this::getDataTypeListItem) .filter(Optional::isPresent) .map(Optional::get) .collect(Collectors.toList()); } @Inject  DataTypeListShortcutsView(final ScrollHelper scrollHelper); void init(final DataTypeListShortcuts presenter); @Override Optional<Element> getFirstDataTypeRow(); @Override Optional<Element> getNextDataTypeRow(); @Override Optional<Element> getPrevDataTypeRow(); @Override Optional<DataTypeListItem> getCurrentDataTypeListItem(); @Override List<DataTypeListItem> getVisibleDataTypeListItems(); @Override void highlight(final Element element); @Override void focusIn(); void reset();  }### Answer:
@Test public void testGetVisibleDataTypeListItems() { final DataTypeList dataTypeList = mock(DataTypeList.class); final DataTypeListItem item1 = mock(DataTypeListItem.class); final DataTypeListItem item2 = mock(DataTypeListItem.class); final DataTypeListItem item3 = mock(DataTypeListItem.class); final DataType dataType1 = fakeDataType("123"); final DataType dataType2 = fakeDataType("456"); final DataType dataType3 = fakeDataType("789"); final Element dataTypeRow1 = fakeDataTypeRow("123"); final Element dataTypeRow2 = fakeDataTypeRow("456"); final Element dataTypeRow3 = fakeDataTypeRow("789"); final List<DataTypeListItem> items = asList(item1, item2, item3); final JQueryList<Element> jQueryList = mock(JQueryList.class); when(item1.getDataType()).thenReturn(dataType1); when(item2.getDataType()).thenReturn(dataType2); when(item3.getDataType()).thenReturn(dataType3); when(dataTypeList.getItems()).thenReturn(items); when(presenter.getDataTypeList()).thenReturn(dataTypeList); jQueryList.length = 3; when(jQueryList.get(0)).thenReturn(dataTypeRow1); when(jQueryList.get(1)).thenReturn(dataTypeRow2); when(jQueryList.get(2)).thenReturn(dataTypeRow3); doReturn(jQueryList).when(view).filterVisible(); final List<DataTypeListItem> actual = view.getVisibleDataTypeListItems(); final List<DataTypeListItem> expected = asList(item1, item2, item3); assertEquals(expected, actual); }