Search in sources :

Example 6 with Settings

use of org.drools.scenariosimulation.api.model.Settings in project drools-wb by kiegroup.

the class AbstractScenarioSimulationTest method setup.

@Before
public void setup() {
    settingsLocal = new Settings();
    backgroundLocal = new Background();
    scenarioWithIndexLocal = new ArrayList<>();
    scenarioGridWidgetSpy = spy(new ScenarioGridWidget() {

        {
            this.scenarioGridPanel = scenarioGridPanelMock;
        }
    });
    backgroundGridWidgetSpy = spy(new ScenarioGridWidget() {

        {
            this.scenarioGridPanel = backgroundGridPanelMock;
        }
    });
    when(simulationMock.getScesimModelDescriptor()).thenReturn(simulationDescriptorMock);
    when(simulationMock.getScenarioWithIndex()).thenReturn(scenarioWithIndexLocal);
    when(backgroundMock.getScesimModelDescriptor()).thenReturn(simulationDescriptorMock);
    when(simulationRunResultMock.getScenarioWithIndex()).thenReturn(scenarioWithIndexLocal);
    GridData.Range range = new GridData.Range(FIRST_INDEX_LEFT, FIRST_INDEX_RIGHT - 1);
    collectionEditorSingletonDOMElementFactoryTest = new CollectionEditorSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock, scenarioSimulationContextLocal, viewsProviderMock);
    scenarioCellTextAreaSingletonDOMElementFactorySpy = spy(new ScenarioCellTextAreaSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioHeaderTextBoxSingletonDOMElementFactorySpy = spy(new ScenarioHeaderTextBoxSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioExpressionCellTextAreaSingletonDOMElementFactorySpy = spy(new ScenarioExpressionCellTextAreaSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioGridModelMock = spy(new ScenarioGridModel(false) {

        {
            this.abstractScesimModel = simulationMock;
            this.columns = gridColumns;
            this.rows = rowsMock;
            this.collectionEditorSingletonDOMElementFactory = collectionEditorSingletonDOMElementFactoryTest;
            this.scenarioCellTextAreaSingletonDOMElementFactory = scenarioCellTextAreaSingletonDOMElementFactorySpy;
            this.scenarioHeaderTextBoxSingletonDOMElementFactory = scenarioHeaderTextBoxSingletonDOMElementFactorySpy;
            this.scenarioExpressionCellTextAreaSingletonDOMElementFactory = scenarioExpressionCellTextAreaSingletonDOMElementFactorySpy;
            this.eventBus = eventBusMock;
        }

        @Override
        protected void commonAddColumn(int index, GridColumn<?> column) {
        // 
        }

        @Override
        protected void commonAddColumn(final int index, final GridColumn<?> column, ExpressionIdentifier ei) {
        // 
        }

        @Override
        protected void commonAddRow(int rowIndex) {
        // 
        }

        @Override
        public List<GridColumn<?>> getColumns() {
            return columns;
        }

        @Override
        public Range getInstanceLimits(int columnIndex) {
            return range;
        }

        @Override
        public int getFirstIndexLeftOfGroup(String groupName) {
            return FIRST_INDEX_LEFT;
        }

        @Override
        public int getFirstIndexRightOfGroup(String groupName) {
            return FIRST_INDEX_RIGHT;
        }

        @Override
        public GridColumn<?> getSelectedColumn() {
            return gridColumnMock;
        }

        @Override
        public void deleteColumn(final GridColumn<?> column) {
        // 
        }

        @Override
        public Range deleteRow(int rowIndex) {
            return range;
        }

        @Override
        public void insertRowGridOnly(final int rowIndex, final GridRow row, final Scenario scenario) {
        // 
        }

        @Override
        public void insertRow(int rowIndex, GridRow row) {
        }

        @Override
        public List<GridRow> getRows() {
            return rowsMock;
        }

        @Override
        public Range setCellValue(int rowIndex, int columnIndex, GridCellValue<?> value) {
            return range;
        }

        @Override
        public void validateInstanceHeaderUpdate(String instanceHeaderCellValue, int columnIndex, boolean isADataType) {
        // 
        }

        @Override
        public void validatePropertyHeaderUpdate(String propertyHeaderCellValue, int columnIndex, boolean isPropertyType) {
        // 
        }
    });
    when(scenarioGridMock.getEventBus()).thenReturn(eventBusMock);
    when(scenarioGridMock.getModel()).thenReturn(scenarioGridModelMock);
    when(scenarioGridMock.getLayer()).thenReturn(scenarioGridLayerMock);
    when(scenarioGridMock.getType()).thenReturn(ScenarioSimulationModel.Type.RULE);
    when(scenarioGridMock.getGridWidget()).thenReturn(GridWidget.SIMULATION);
    when(scenarioGridLayerMock.getScenarioGrid()).thenReturn(scenarioGridMock);
    when(scenarioGridPanelMock.getScenarioGridLayer()).thenReturn(scenarioGridLayerMock);
    when(scenarioGridPanelMock.getScenarioGrid()).thenReturn(scenarioGridMock);
    when(backgroundGridMock.getEventBus()).thenReturn(eventBusMock);
    when(backgroundGridMock.getModel()).thenReturn(backgroundGridModelMock);
    when(backgroundGridMock.getLayer()).thenReturn(backgroundGridLayerMock);
    when(backgroundGridMock.getType()).thenReturn(ScenarioSimulationModel.Type.RULE);
    when(backgroundGridMock.getGridWidget()).thenReturn(GridWidget.BACKGROUND);
    when(backgroundGridModelMock.getGridWidget()).thenReturn(GridWidget.BACKGROUND);
    when(backgroundGridLayerMock.getScenarioGrid()).thenReturn(backgroundGridMock);
    when(backgroundGridPanelMock.getScenarioGridLayer()).thenReturn(backgroundGridLayerMock);
    when(backgroundGridPanelMock.getScenarioGrid()).thenReturn(backgroundGridMock);
    final Point2D computedLocation = mock(Point2D.class);
    when(computedLocation.getX()).thenReturn(0.0);
    when(computedLocation.getY()).thenReturn(0.0);
    when(scenarioGridMock.getComputedLocation()).thenReturn(computedLocation);
    scenarioSimulationContextLocal = new ScenarioSimulationContext(scenarioGridWidgetSpy, backgroundGridWidgetSpy);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    scenarioSimulationContextLocal.getStatus().setSimulation(simulationMock);
    scenarioSimulationContextLocal.getStatus().setBackground(backgroundMock);
    scenarioSimulationContextLocal.getStatus().setFullPackage(FULL_PACKAGE);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    scenarioSimulationContextLocal.setDataObjectFieldsMap(dataObjectFieldsMapMock);
    when(backgroundGridWidgetSpy.getScenarioSimulationContext()).thenReturn(scenarioSimulationContextLocal);
    when(scenarioGridWidgetSpy.getScenarioSimulationContext()).thenReturn(scenarioSimulationContextLocal);
    when(scenarioSimulationEditorPresenterMock.getView()).thenReturn(scenarioSimulationViewMock);
    when(scenarioSimulationEditorPresenterMock.getModel()).thenReturn(scenarioSimulationModelMock);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    when(scenarioSimulationEditorPresenterMock.getDataManagementStrategy()).thenReturn(dataManagementStrategyMock);
    when(scenarioSimulationEditorPresenterMock.getContext()).thenReturn(scenarioSimulationContextLocal);
    when(simulationMock.cloneModel()).thenReturn(clonedSimulationMock);
    when(backgroundMock.cloneModel()).thenReturn(clonedBackgroundMock);
    scenarioSimulationContextLocal.getStatus().setSimulation(simulationMock);
    when(scenarioSimulationModelMock.getSimulation()).thenReturn(simulationMock);
    when(scenarioSimulationModelMock.getBackground()).thenReturn(backgroundMock);
    when(scenarioSimulationModelMock.getSettings()).thenReturn(settingsLocal);
    when(scenarioCommandRegistryManagerMock.undo(scenarioSimulationContextLocal)).thenReturn(CommandResultBuilder.SUCCESS);
    when(scenarioCommandRegistryManagerMock.redo(scenarioSimulationContextLocal)).thenReturn(CommandResultBuilder.SUCCESS);
    appendRowCommandMock = spy(new AppendRowCommand(GridWidget.SIMULATION) {

        {
            this.restorableStatus = scenarioSimulationContextLocal.getStatus();
        }

        @Override
        public CommandResult<ScenarioSimulationViolation> execute(ScenarioSimulationContext context) {
            return CommandResultBuilder.SUCCESS;
        }

        @Override
        public CommandResult<ScenarioSimulationViolation> undo(ScenarioSimulationContext context) {
            return CommandResultBuilder.SUCCESS;
        }
    });
    when(informationHeaderMetaDataMock.getTitle()).thenReturn(MULTIPART_VALUE);
    when(informationHeaderMetaDataMock.getColumnGroup()).thenReturn(COLUMN_GROUP);
    when(propertyHeaderMetaDataMock.getMetadataType()).thenReturn(ScenarioHeaderMetaData.MetadataType.PROPERTY);
    when(propertyHeaderMetaDataMock.getTitle()).thenReturn(GRID_PROPERTY_TITLE);
    when(propertyHeaderMetaDataMock.getColumnGroup()).thenReturn(GRID_COLUMN_GROUP);
    when(propertyHeaderMetaDataMock.getColumnId()).thenReturn(GRID_COLUMN_ID);
    when(headerMetaDatasMock.get(anyInt())).thenReturn(informationHeaderMetaDataMock);
    when(gridColumnMock.getHeaderMetaData()).thenReturn(headerMetaDatasMock);
    when(gridColumnMock.getInformationHeaderMetaData()).thenReturn(informationHeaderMetaDataMock);
    when(gridColumnMock.getPropertyHeaderMetaData()).thenReturn(propertyHeaderMetaDataMock);
    when(gridColumnMock.getFactIdentifier()).thenReturn(factIdentifierMock);
    settingsLocal.setType(ScenarioSimulationModel.Type.RULE);
    IntStream.range(0, COLUMN_NUMBER).forEach(columnIndex -> {
        gridColumns.add(gridColumnMock);
        factMappingValuesLocal.add(factMappingValueMock);
        factIdentifierSet.add(factIdentifierMock);
        factMappingLocal.add(factMappingMock);
        when(simulationDescriptorMock.getFactMappingByIndex(columnIndex)).thenReturn(factMappingMock);
    });
    when(factIdentifierMock.getClassNameWithoutPackage()).thenReturn(CLASS_NAME);
    when(factIdentifierMock.getPackageWithoutClassName()).thenReturn(FULL_PACKAGE);
    when(factIdentifierMock.getClassName()).thenReturn(FULL_CLASS_NAME);
    when(factIdentifierMock.getName()).thenReturn(FACT_IDENTIFIER_NAME);
    when(simulationDescriptorMock.getFactIdentifiers()).thenReturn(factIdentifierSet);
    when(simulationDescriptorMock.getUnmodifiableFactMappings()).thenReturn(factMappingLocal);
    when(simulationDescriptorMock.getFactMappingsByFactName(anyString())).thenReturn(Stream.empty());
    when(scenarioGridModelMock.nextColumnCount()).thenReturn(factMappingValuesLocal.size());
    when(factMappingMock.getFactIdentifier()).thenReturn(factIdentifierMock);
    when(factMappingMock.getFactAlias()).thenReturn(FACT_ALIAS);
    when(factMappingMock.getGenericTypes()).thenReturn(new ArrayList<>());
    doReturn(factMappingMock).when(simulationDescriptorMock).addFactMapping(anyInt(), anyString(), anyObject(), anyObject());
    when(scenarioSimulationViewMock.getScenarioGridWidget()).thenReturn(scenarioGridWidgetSpy);
}
Also used : ScenarioSimulationContext(org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationContext) AppendRowCommand(org.drools.workbench.screens.scenariosimulation.client.commands.actualcommands.AppendRowCommand) Background(org.drools.scenariosimulation.api.model.Background) Matchers.anyString(org.mockito.Matchers.anyString) GridCellValue(org.uberfire.ext.wires.core.grids.client.model.GridCellValue) GridRow(org.uberfire.ext.wires.core.grids.client.model.GridRow) Scenario(org.drools.scenariosimulation.api.model.Scenario) ScenarioCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory) ScenarioGridWidget(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridWidget) ScenarioExpressionCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory) Point2D(com.ait.lienzo.client.core.types.Point2D) ScenarioGridModel(org.drools.workbench.screens.scenariosimulation.client.models.ScenarioGridModel) ExpressionIdentifier(org.drools.scenariosimulation.api.model.ExpressionIdentifier) GridData(org.uberfire.ext.wires.core.grids.client.model.GridData) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioSimulationViolation(org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationViolation) ScenarioHeaderTextBoxSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory) Settings(org.drools.scenariosimulation.api.model.Settings) CollectionEditorSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory) Before(org.junit.Before)

Example 7 with Settings

use of org.drools.scenariosimulation.api.model.Settings in project drools-wb by kiegroup.

the class RULEScenarioValidationTest method init.

@Before
public void init() {
    settingsLocal = new Settings();
    settingsLocal.setType(ScenarioSimulationModel.Type.RULE);
    when(kieContainerMock.getClassLoader()).thenReturn(Thread.currentThread().getContextClassLoader());
    when(kieContainerMock.getClassLoader()).thenReturn(Thread.currentThread().getContextClassLoader());
}
Also used : Settings(org.drools.scenariosimulation.api.model.Settings) Before(org.junit.Before)

Example 8 with Settings

use of org.drools.scenariosimulation.api.model.Settings in project drools-wb by kiegroup.

the class ScenarioRunnerServiceImplTest method setup.

@Before
public void setup() {
    simulationLocal = new Simulation();
    backgroundLocal = new Background();
    settingsLocal = new Settings();
    settingsLocal.setType(Type.RULE);
    when(buildInfoServiceMock.getBuildInfo(any())).thenReturn(buildInfoMock);
    when(buildInfoMock.getKieContainer()).thenReturn(kieContainerMock);
}
Also used : Simulation(org.drools.scenariosimulation.api.model.Simulation) Background(org.drools.scenariosimulation.api.model.Background) Settings(org.drools.scenariosimulation.api.model.Settings) Before(org.junit.Before)

Example 9 with Settings

use of org.drools.scenariosimulation.api.model.Settings in project drools-wb by kiegroup.

the class ScenarioRunnerServiceImplTest method runFailed.

@Test
public void runFailed() {
    when(buildInfoServiceMock.getBuildInfo(any())).thenReturn(buildInfoMock);
    when(buildInfoMock.getKieContainer()).thenReturn(kieContainerMock);
    simulationLocal.addData();
    Scenario scenario = simulationLocal.getDataByIndex(0);
    scenario.setDescription("Test Scenario");
    String errorMessage = "Test Error";
    scenarioRunnerService.setRunnerSupplier((kieContainer, scenarioRunnerDTO) -> new RuleScenarioRunner(kieContainer, scenarioRunnerDTO) {

        @Override
        protected void internalRunScenario(ScenarioWithIndex scenarioWithIndex, ScenarioRunnerData scenarioRunnerData, Settings settings, Background background) {
            throw new ScenarioException(errorMessage);
        }
    });
    SimulationRunResult test = scenarioRunnerService.runTest("test", mock(Path.class), simulationLocal.getScesimModelDescriptor(), simulationLocal.getScenarioWithIndex(), settingsLocal, backgroundLocal);
    TestResultMessage value = test.getTestResultMessage();
    List<org.guvnor.common.services.shared.test.Failure> failures = value.getFailures();
    assertEquals(1, failures.size());
    String testDescription = String.format("#%d: %s", 1, scenario.getDescription());
    String errorMessageFormatted = String.format("#%d %s: %s", 1, scenario.getDescription(), errorMessage);
    org.guvnor.common.services.shared.test.Failure failure = failures.get(0);
    assertEquals(errorMessageFormatted, failure.getMessage());
    assertEquals(1, value.getRunCount());
    assertTrue(failure.getDisplayName().startsWith(testDescription));
}
Also used : Path(org.uberfire.backend.vfs.Path) Background(org.drools.scenariosimulation.api.model.Background) TestResultMessage(org.guvnor.common.services.shared.test.TestResultMessage) RuleScenarioRunner(org.drools.scenariosimulation.backend.runner.RuleScenarioRunner) Scenario(org.drools.scenariosimulation.api.model.Scenario) SimulationRunResult(org.drools.workbench.screens.scenariosimulation.model.SimulationRunResult) ScenarioWithIndex(org.drools.scenariosimulation.api.model.ScenarioWithIndex) ScenarioRunnerData(org.drools.scenariosimulation.backend.runner.model.ScenarioRunnerData) Settings(org.drools.scenariosimulation.api.model.Settings) ScenarioException(org.drools.scenariosimulation.backend.runner.ScenarioException) Test(org.junit.Test)

Example 10 with Settings

use of org.drools.scenariosimulation.api.model.Settings in project drools-wb by kiegroup.

the class DMNSimulationSettingsCreationStrategy method createSettings.

@Override
public Settings createSettings(Path context, String dmnFilePath) {
    Settings toReturn = new Settings();
    toReturn.setType(ScenarioSimulationModel.Type.DMN);
    toReturn.setDmnFilePath(dmnFilePath);
    dmnTypeService.initializeNameAndNamespace(toReturn, context, dmnFilePath);
    return toReturn;
}
Also used : Settings(org.drools.scenariosimulation.api.model.Settings)

Aggregations

Settings (org.drools.scenariosimulation.api.model.Settings)29 Test (org.junit.Test)11 Before (org.junit.Before)10 Simulation (org.drools.scenariosimulation.api.model.Simulation)9 Background (org.drools.scenariosimulation.api.model.Background)7 Path (org.uberfire.backend.vfs.Path)6 AbstractScenarioSimulationTest (org.drools.workbench.screens.scenariosimulation.client.AbstractScenarioSimulationTest)4 ScenarioSimulationModel (org.drools.scenariosimulation.api.model.ScenarioSimulationModel)3 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Map (java.util.Map)2 ExpressionIdentifier (org.drools.scenariosimulation.api.model.ExpressionIdentifier)2 FactMapping (org.drools.scenariosimulation.api.model.FactMapping)2 Scenario (org.drools.scenariosimulation.api.model.Scenario)2 ScenarioWithIndex (org.drools.scenariosimulation.api.model.ScenarioWithIndex)2 ScenarioRunnerData (org.drools.scenariosimulation.backend.runner.model.ScenarioRunnerData)2 ScenarioSimulationViolation (org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationViolation)2 UpdateSettingsDataCommand (org.drools.workbench.screens.scenariosimulation.client.commands.actualcommands.UpdateSettingsDataCommand)2 UpdateSettingsDataEvent (org.drools.workbench.screens.scenariosimulation.client.events.UpdateSettingsDataEvent)2 TestResultMessage (org.guvnor.common.services.shared.test.TestResultMessage)2