### Question:
ListGrid extends BaseExpressionGrid<List, ListGridData, ListUIModelMapper> implements HasListSelectorControl { void deleteRow(final int index) { getExpression().get().ifPresent(list -> { sessionCommandManager.execute((AbstractCanvasHandler) sessionManager.getCurrentSession().getCanvasHandler(), new DeleteListRowCommand(list, model, index, () -> resize(BaseExpressionGrid.RESIZE_EXISTING))); }); } ListGrid(final GridCellTuple parent,
                    final Optional<String> nodeUUID,
                    final HasExpression hasExpression,
                    final Optional<HasName> hasName,
                    final DMNGridPanel gridPanel,
                    final DMNGridLayer gridLayer,
                    final ListGridData gridData,
                    final DefinitionUtils definitionUtils,
                    final SessionManager sessionManager,
                    final SessionCommandManager<AbstractCanvasHandler> sessionCommandManager,
                    final DefaultCanvasCommandFactory canvasCommandFactory,
                    final Event<ExpressionEditorChanged> editorSelectedEvent,
                    final Event<RefreshFormPropertiesEvent> refreshFormPropertiesEvent,
                    final Event<DomainObjectSelectionEvent> domainObjectSelectionEvent,
                    final CellEditorControlsView.Presenter cellEditorControls,
                    final ListSelectorView.Presenter listSelector,
                    final TranslationService translationService,
                    final boolean isOnlyVisualChangeAllowed,
                    final int nesting,
                    final Supplier<ExpressionEditorDefinitions> expressionEditorDefinitionsSupplier,
                    final ValueAndDataTypePopoverView.Presenter headerEditor,
                    final ReadOnlyProvider readOnlyProvider); @Override ListUIModelMapper makeUiModelMapper(); @Override void initialiseUiColumns(); @Override void initialiseUiRows(); @Override void initialiseUiCells(); @Override java.util.List<ListSelectorItem> getItems(final int uiRowIndex,
                                                     final int uiColumnIndex); @Override void onItemSelected(final ListSelectorItem item); @Override void doAfterSelectionChange(final int uiRowIndex,
                                       final int uiColumnIndex);  }### Answer:
@Test public void testDeleteListRow() { setupGrid(); grid.deleteRow(0); verify(sessionCommandManager).execute(eq(canvasHandler), deleteListRowCommandCaptor.capture()); final DeleteListRowCommand deleteContextEntryCommand = deleteListRowCommandCaptor.getValue(); deleteContextEntryCommand.execute(canvasHandler); verify(parent).onResize(); verify(gridPanel).refreshScrollPosition(); verify(gridPanel).updatePanelSize(); verify(gridLayer).batch(redrawCommandCaptor.capture()); final GridLayerRedrawManager.PrioritizedCommand redrawCommand = redrawCommandCaptor.getValue(); redrawCommand.execute(); verify(gridLayer).draw(); }