public FactMappingValue addOrUpdateMappingValue(FactIdentifier factIdentifier, ExpressionIdentifier expressionIdentifier, Object value) { return getFactMappingValue(factIdentifier, expressionIdentifier).map(e -> { e.setRawValue(value); return e; }).orElseGet(() -> addMappingValue(factIdentifier, expressionIdentifier, value)); }
public FactMappingValue addOrUpdateMappingValue(FactIdentifier factIdentifier, ExpressionIdentifier expressionIdentifier, Object value) { return getFactMappingValue(factIdentifier, expressionIdentifier).map(e -> { e.setRawValue(value); return e; }).orElseGet(() -> addMappingValue(factIdentifier, expressionIdentifier, value)); }
@Test(expected = IllegalArgumentException.class) public void addMappingValueTest() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); // Should fail scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); }
@Test(expected = IllegalArgumentException.class) public void addMappingValueTest() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); // Should fail scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); }
public FactMapping getFactMapping(FactModelTree factModelTree, String propertyName, List<String> previousSteps, String factType) { String factAlias = previousSteps.size() > 0 ? previousSteps.get(0) : factModelTree.getFactName(); ExpressionIdentifier expressionIdentifier = ExpressionIdentifier.create(row + "|" + id.getAndIncrement(), type); final FactMapping factMapping = simulationDescriptor.addFactMapping(factAlias, factIdentifier, expressionIdentifier); List<String> localPreviousStep = new ArrayList<>(previousSteps); localPreviousStep.add(propertyName); String expressionAlias = String.join(".", localPreviousStep.size() > 1 ? localPreviousStep.subList(1, localPreviousStep.size()) : localPreviousStep); factMapping.setExpressionAlias(expressionAlias); previousSteps.forEach(step -> factMapping.addExpressionElement(step, factType)); if (previousSteps.isEmpty()) { factMapping.addExpressionElement(factModelTree.getFactName(), factType); } scenario.addMappingValue(factIdentifier, expressionIdentifier, null); return factMapping; } }
protected void commonAddRow(int rowIndex) { Scenario scenario = simulation.addScenario(rowIndex); final SimulationDescriptor simulationDescriptor = simulation.getSimulationDescriptor(); IntStream.range(1, getColumnCount()).forEach(columnIndex -> { final FactMapping factMappingByIndex = simulationDescriptor.getFactMappingByIndex(columnIndex); scenario.addMappingValue(factMappingByIndex.getFactIdentifier(), factMappingByIndex.getExpressionIdentifier(), null); String placeHolder = ((ScenarioGridColumn) columns.get(columnIndex)).isPropertyAssigned() ? ScenarioSimulationEditorConstants.INSTANCE.insertValue() : ScenarioSimulationEditorConstants.INSTANCE.defineValidType(); setCell(rowIndex, columnIndex, () -> new ScenarioGridCell(new ScenarioGridCellValue(null, placeHolder))); }); updateIndexColumn(); }
@Test public void removeFactMappingValue() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); Optional<FactMappingValue> retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertTrue(retrieved.isPresent()); scenario.removeFactMappingValue(retrieved.get()); retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertFalse(retrieved.isPresent()); }
@Test public void removeFactMappingValue() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); Optional<FactMappingValue> retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertTrue(retrieved.isPresent()); scenario.removeFactMappingValue(retrieved.get()); retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertFalse(retrieved.isPresent()); }
@Test public void removeFactMappingValueByIdentifiersTest() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); Optional<FactMappingValue> retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertTrue(retrieved.isPresent()); scenario.removeFactMappingValueByIdentifiers(factIdentifier, expressionIdentifier); retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertFalse(retrieved.isPresent()); }
@Test public void removeFactMappingValueByIdentifiersTest() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); Optional<FactMappingValue> retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertTrue(retrieved.isPresent()); scenario.removeFactMappingValueByIdentifiers(factIdentifier, expressionIdentifier); retrieved = scenario.getFactMappingValue(factIdentifier, expressionIdentifier); assertFalse(retrieved.isPresent()); }
@Test public void sortTest() { ExpressionIdentifier expressionIdentifier2 = ExpressionIdentifier.create("Test expression 2", FactMappingType.GIVEN); simulationDescriptor.addFactMapping(factIdentifier, expressionIdentifier); simulationDescriptor.addFactMapping(factIdentifier, expressionIdentifier2); scenario.addMappingValue(factIdentifier, expressionIdentifier2, "Test 2"); FactMappingValue factMappingValue1 = scenario.addMappingValue(factIdentifier, this.expressionIdentifier, "Test"); assertEquals(scenario.getUnmodifiableFactMappingValues().get(1), factMappingValue1); scenario.sort(); assertNotEquals(scenario.getUnmodifiableFactMappingValues().get(1), factMappingValue1); assertEquals(scenario.getUnmodifiableFactMappingValues().get(0), factMappingValue1); } }
@Test public void groupByFactIdentifierAndFilterTest() { Map<FactIdentifier, List<FactMappingValue>> scenario1Given = runnerHelper.groupByFactIdentifierAndFilter(scenario1.getUnmodifiableFactMappingValues(), FactMappingType.GIVEN); Map<FactIdentifier, List<FactMappingValue>> scenario1Expected = runnerHelper.groupByFactIdentifierAndFilter(scenario1.getUnmodifiableFactMappingValues(), FactMappingType.EXPECT); Map<FactIdentifier, List<FactMappingValue>> scenario2Given = runnerHelper.groupByFactIdentifierAndFilter(scenario2.getUnmodifiableFactMappingValues(), FactMappingType.GIVEN); Map<FactIdentifier, List<FactMappingValue>> scenario2Expected = runnerHelper.groupByFactIdentifierAndFilter(scenario2.getUnmodifiableFactMappingValues(), FactMappingType.EXPECT); assertEquals(1, scenario1Given.keySet().size()); assertEquals(1, scenario1Expected.keySet().size()); assertEquals(2, scenario2Given.keySet().size()); assertEquals(2, scenario2Expected.keySet().size()); assertEquals(1, scenario1Given.get(personFactIdentifier).size()); assertEquals(1, scenario1Expected.get(personFactIdentifier).size()); assertEquals(1, scenario2Given.get(disputeFactIdentifier).size()); assertEquals(1, scenario2Expected.get(disputeFactIdentifier).size()); Scenario scenario = new Scenario(); scenario.addMappingValue(FactIdentifier.EMPTY, ExpressionIdentifier.DESCRIPTION, null); assertEquals(0, runnerHelper.groupByFactIdentifierAndFilter(scenario.getUnmodifiableFactMappingValues(), FactMappingType.GIVEN).size()); }
@Test public void sortTest() { ExpressionIdentifier expressionIdentifier2 = ExpressionIdentifier.create("Test expression 2", FactMappingType.GIVEN); simulationDescriptor.addFactMapping(factIdentifier, expressionIdentifier); simulationDescriptor.addFactMapping(factIdentifier, expressionIdentifier2); scenario.addMappingValue(factIdentifier, expressionIdentifier2, "Test 2"); FactMappingValue factMappingValue1 = scenario.addMappingValue(factIdentifier, this.expressionIdentifier, "Test"); assertEquals(scenario.getUnmodifiableFactMappingValues().get(1), factMappingValue1); scenario.sort(); assertNotEquals(scenario.getUnmodifiableFactMappingValues().get(1), factMappingValue1); assertEquals(scenario.getUnmodifiableFactMappingValues().get(0), factMappingValue1); } }
public static Simulation getSimulation(int numberOfColumns, int numberOfRows) { Simulation simulation = new Simulation(); SimulationDescriptor simulationDescriptor = simulation.getSimulationDescriptor(); simulationDescriptor.addFactMapping(FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION); // generate simulationDescriptor IntStream.range(0, numberOfColumns).forEach(columnIndex -> { simulationDescriptor.addFactMapping(FactIdentifier.create(getFactName(columnIndex), String.class.getCanonicalName()), ExpressionIdentifier.create(getColName(columnIndex), FactMappingType.EXPECT) ); }); // generate scenarios IntStream.range(0, numberOfRows).forEach(rowIndex -> { final Scenario scenario = simulation.addScenario(); scenario.setDescription(getRowName(rowIndex)); IntStream.range(0, numberOfColumns).forEach( columnIndex -> { scenario.addMappingValue(FactIdentifier.create(getFactName(columnIndex), String.class.getCanonicalName()), ExpressionIdentifier.create(getColName(columnIndex), FactMappingType.EXPECT), getCellValue(columnIndex, rowIndex)); }); }); return simulation; }
@Before public void setup() { simulation = new Simulation(); FactIdentifier factIdentifier = FactIdentifier.create("Test", String.class.getCanonicalName()); ExpressionIdentifier expressionIdentifier = ExpressionIdentifier.create("Test", FactMappingType.GIVEN); simulation.getSimulationDescriptor().addFactMapping(factIdentifier, expressionIdentifier); originalScenario = simulation.addScenario(); originalScenario.setDescription("Test Description"); originalScenario.addMappingValue(factIdentifier, expressionIdentifier, "TEST"); }
@Before public void setup() { simulation = new Simulation(); FactIdentifier factIdentifier = FactIdentifier.create("Test", String.class.getCanonicalName()); ExpressionIdentifier expressionIdentifier = ExpressionIdentifier.create("Test", FactMappingType.GIVEN); simulation.getSimulationDescriptor().addFactMapping(factIdentifier, expressionIdentifier); originalScenario = simulation.addScenario(); originalScenario.setDescription("Test Description"); originalScenario.addMappingValue(factIdentifier, expressionIdentifier, "TEST"); }
@Test public void addOrUpdateMappingValue() { Object value1 = "Test 1"; Object value2 = "Test 2"; FactMappingValue factMappingValue = scenario.addMappingValue(factIdentifier, expressionIdentifier, value1); assertEquals(factMappingValue.getRawValue(), value1); FactMappingValue factMappingValue1 = scenario.addOrUpdateMappingValue(factIdentifier, expressionIdentifier, value2); assertEquals(factMappingValue, factMappingValue1); assertEquals(factMappingValue1.getRawValue(), value2); }
@Test public void addOrUpdateMappingValue() { Object value1 = "Test 1"; Object value2 = "Test 2"; FactMappingValue factMappingValue = scenario.addMappingValue(factIdentifier, expressionIdentifier, value1); assertEquals(factMappingValue.getRawValue(), value1); FactMappingValue factMappingValue1 = scenario.addOrUpdateMappingValue(factIdentifier, expressionIdentifier, value2); assertEquals(factMappingValue, factMappingValue1); assertEquals(factMappingValue1.getRawValue(), value2); }
@Test public void getDescriptionTest() { assertEquals("", scenario.getDescription()); String description = "Test Description"; scenario.addMappingValue(FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION, description); assertEquals(description, scenario.getDescription()); Scenario scenarioWithDescriptionNull = simulation.addScenario(); scenarioWithDescriptionNull.setDescription(null); assertEquals("", scenarioWithDescriptionNull.getDescription()); }
@Test public void getDescriptionTest() { assertEquals("", scenario.getDescription()); String description = "Test Description"; scenario.addMappingValue(FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION, description); assertEquals(description, scenario.getDescription()); Scenario scenarioWithDescriptionNull = simulation.addScenario(); scenarioWithDescriptionNull.setDescription(null); assertEquals("", scenarioWithDescriptionNull.getDescription()); }