/** * This method <i>duplicate</i> the row at the given index from both the grid <b>and</b> the underlying model * and insert just below the original one * @param rowIndex */ public void duplicateRow(int rowIndex, GridRow row) { checkSimulation(); int newRowIndex = rowIndex + 1; final Scenario toDuplicate = simulation.cloneScenario(rowIndex, newRowIndex); insertRowGridOnly(newRowIndex, row, toDuplicate); }
@Test public void duplicateRow() { reset(scenarioGridModel); scenarioGridModel.duplicateRow(ROW_INDEX, gridRowMock); verify(scenarioGridModel, atLeast(1)).checkSimulation(); verify(simulationMock, times(1)).cloneScenario(eq(ROW_INDEX), eq(ROW_INDEX + 1)); verify(scenarioGridModel, times(1)).insertRowGridOnly(eq(ROW_INDEX + 1), eq(gridRowMock), isA(Scenario.class)); verify(scenarioGridModel, never()).insertRow(eq(ROW_INDEX), eq(gridRowMock)); verify(scenarioGridModel, times(1)).updateIndexColumn(); }
@Test public void cloneScenarioFail() { muteException(() -> { simulation.cloneScenario(-1, 1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(2, 1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(0, -1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(0, 2); fail(); }, IllegalArgumentException.class); }
@Test public void cloneScenarioFail() { muteException(() -> { simulation.cloneScenario(-1, 1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(2, 1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(0, -1); fail(); }, IllegalArgumentException.class); muteException(() -> { simulation.cloneScenario(0, 2); fail(); }, IllegalArgumentException.class); }
when(simulationMock.addScenario(rowIndex)).thenReturn(scenarioMock); when(simulationMock.getScenarioByIndex(rowIndex)).thenReturn(scenarioMock); when(simulationMock.cloneScenario(rowIndex, rowIndex + 1)).thenReturn(scenarioMock); gridRows.add(gridRowMock); }); when(simulationMock.addScenario(ROW_COUNT)).thenReturn(scenarioMock); when(simulationMock.getScenarioByIndex(ROW_COUNT)).thenReturn(scenarioMock); when(simulationMock.cloneScenario(ROW_COUNT, ROW_COUNT + 1)).thenReturn(scenarioMock);
@Test public void cloneScenarioTest() { Scenario clonedScenario = simulation.cloneScenario(0, 1); assertEquals(originalScenario.getDescription(), clonedScenario.getDescription()); assertEquals(originalScenario.getUnmodifiableFactMappingValues().size(), clonedScenario.getUnmodifiableFactMappingValues().size()); assertEquals(originalScenario, simulation.getScenarioByIndex(0)); assertEquals(clonedScenario, simulation.getScenarioByIndex(1)); assertNotEquals(originalScenario, clonedScenario); assertNotEquals(originalScenario.getUnmodifiableFactMappingValues().get(0), clonedScenario.getUnmodifiableFactMappingValues().get(0)); }
@Test public void cloneScenarioTest() { Scenario clonedScenario = simulation.cloneScenario(0, 1); assertEquals(originalScenario.getDescription(), clonedScenario.getDescription()); assertEquals(originalScenario.getUnmodifiableFactMappingValues().size(), clonedScenario.getUnmodifiableFactMappingValues().size()); assertEquals(originalScenario, simulation.getScenarioByIndex(0)); assertEquals(clonedScenario, simulation.getScenarioByIndex(1)); assertNotEquals(originalScenario, clonedScenario); assertNotEquals(originalScenario.getUnmodifiableFactMappingValues().get(0), clonedScenario.getUnmodifiableFactMappingValues().get(0)); }