@Before @SuppressWarnings("unchecked") public void setup() { model = new GuidedDecisionTable52(); uiModel = new GuidedDecisionTableUiModel(mock(ModelSynchronizer.class)); clipboard = new DefaultClipboard(); when(dtPresenter.getView()).thenReturn(dtPresenterView); when(dtPresenter.getModel()).thenReturn(model); when(dtPresenter.getAccess()).thenReturn(access); when(dtPresenterView.getModel()).thenReturn(uiModel); uiModel.appendColumn( new BaseGridColumn<String>( mock(GridColumn.HeaderMetaData.class), mock(GridColumnRenderer.class), 100)); uiModel.appendColumn( new BaseGridColumn<String>( mock(GridColumn.HeaderMetaData.class), mock(GridColumnRenderer.class), 100)); uiModel.appendColumn( new BaseGridColumn<String>( mock(GridColumn.HeaderMetaData.class), mock(GridColumnRenderer.class), 100)); uiModel.appendRow(new BaseGridRow()); menu = new RowContextMenu(view, clipboard); menu.setup(); }
@Test public void testOnDecisionTableSelectionsChangedEventWithSelectionsWithClipboardPopulated() { model.getMetadataCols().add(new MetadataCol52()); model .getData() .add( new ArrayList<DTCellValue52>() { { add(new DTCellValue52(1)); add(new DTCellValue52("descr")); add(new DTCellValue52("md")); } }); uiModel.selectCell(0, 2); clipboard.setData( new HashSet<Clipboard.ClipboardData>() { { add(new DefaultClipboard.ClipboardDataImpl(0, 2, model.getData().get(0).get(2))); } }); menu.onDecisionTableSelectionsChangedEvent( new DecisionTableSelectionsChangedEvent(dtPresenter)); verify(view, times(1)).enableCutMenuItem(eq(true)); verify(view, times(1)).enableCopyMenuItem(eq(true)); verify(view, times(1)).enablePasteMenuItem(eq(true)); verify(view, times(1)).enableInsertRowAboveMenuItem(eq(true)); verify(view, times(1)).enableInsertRowBelowMenuItem(eq(true)); verify(view, times(1)).enableDeleteRowMenuItem(eq(true)); }
@Test public void testOnDecisionTableSelectionsChangedEventWithSelections() { model.getMetadataCols().add(new MetadataCol52()); model .getData() .add( new ArrayList<DTCellValue52>() { { add(new DTCellValue52(1)); add(new DTCellValue52("descr")); add(new DTCellValue52("md")); } }); uiModel.selectCell(0, 2); menu.onDecisionTableSelectionsChangedEvent( new DecisionTableSelectionsChangedEvent(dtPresenter)); verify(view, times(1)).enableCutMenuItem(eq(true)); verify(view, times(1)).enableCopyMenuItem(eq(true)); verify(view, times(1)).enablePasteMenuItem(eq(false)); verify(view, times(1)).enableInsertRowAboveMenuItem(eq(true)); verify(view, times(1)).enableInsertRowBelowMenuItem(eq(true)); verify(view, times(1)).enableDeleteRowMenuItem(eq(true)); }
@Test public void testOnDecisionTableSelectedEventWithNoSelections() { menu.onDecisionTableSelectedEvent(new DecisionTableSelectedEvent(dtPresenter)); verify(view, times(1)).enableCutMenuItem(eq(false)); verify(view, times(1)).enableCopyMenuItem(eq(false)); verify(view, times(1)).enablePasteMenuItem(eq(false)); verify(view, times(1)).enableInsertRowAboveMenuItem(eq(false)); verify(view, times(1)).enableInsertRowBelowMenuItem(eq(false)); verify(view, times(1)).enableDeleteRowMenuItem(eq(false)); }
@Test public void testOnDecisionTableSelectedEventReadOnly() { dtPresenter.getAccess().setReadOnly(true); menu.onDecisionTableSelectedEvent(new DecisionTableSelectedEvent(dtPresenter)); verify(view, times(1)).enableCutMenuItem(eq(false)); verify(view, times(1)).enableCopyMenuItem(eq(false)); verify(view, times(1)).enablePasteMenuItem(eq(false)); verify(view, times(1)).enableInsertRowAboveMenuItem(eq(false)); verify(view, times(1)).enableInsertRowBelowMenuItem(eq(false)); verify(view, times(1)).enableDeleteRowMenuItem(eq(false)); }
@Test public void testOnDecisionTableSelectionsChangedEventWithMultipleRowsSelected() { model .getConditions() .add( new Pattern52() { { setFactType("Fact"); getChildColumns() .add( new ConditionCol52() { { setFactType("Fact"); setFactField("field1"); setFieldType(DataType.TYPE_STRING); setOperator("=="); } }); } }); model .getData() .add( new ArrayList<DTCellValue52>() { { add(new DTCellValue52(1)); add(new DTCellValue52("descr")); add(new DTCellValue52("md")); } }); model .getData() .add( new ArrayList<DTCellValue52>() { { add(new DTCellValue52(1)); add(new DTCellValue52("descr")); add(new DTCellValue52("md")); } }); uiModel.selectCells(0, 2, 1, 2); menu.onDecisionTableSelectionsChangedEvent( new DecisionTableSelectionsChangedEvent(dtPresenter)); verify(view, times(1)).enableCutMenuItem(eq(true)); verify(view, times(1)).enableCopyMenuItem(eq(true)); verify(view, times(1)).enablePasteMenuItem(eq(false)); verify(view, times(1)).enableInsertRowAboveMenuItem(eq(false)); verify(view, times(1)).enableInsertRowBelowMenuItem(eq(false)); verify(view, times(1)).enableDeleteRowMenuItem(eq(true)); }