@Test
public void onRunScenario() {

    scenarioWithIndexLocal.add(new ScenarioWithIndex(1, new Scenario()));
    scenarioWithIndexLocal.add(new ScenarioWithIndex(2, new Scenario()));
    scenarioWithIndexLocal.add(new ScenarioWithIndex(3, new Scenario()));
    when(simulationMock.getDataByIndex(anyInt())).thenReturn(mock(Scenario.class));
    List<Integer> indexList = Arrays.asList(0, 2);
    presenterSpy.onRunScenario(indexList);
    verify(scenarioGridWidgetSpy, times(1)).resetErrors();
    verify(backgroundGridWidgetSpy, times(1)).resetErrors();
    verify(scenarioSimulationModelMock, times(1)).setSimulation(simulationMock);
    verify(scenarioSimulationModelMock, times(1)).setBackground(backgroundMock);
    verify(scenarioSimulationViewMock, times(1)).showBusyIndicator(anyString());
    verify(scenarioSimulationEditorWrapperMock, times(1)).onRunScenario(any(), any(), any(), eq(settingsLocal), scenarioWithIndexCaptor.capture(), any());
    List<ScenarioWithIndex> capturedValue = scenarioWithIndexCaptor.getValue();
    assertEquals(2, capturedValue.size());
    for (Integer requestedIndex : indexList) {
        assertEquals(1, capturedValue.stream().filter(elem -> elem.getIndex() == (requestedIndex + 1)).count());
    }
}