@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()); }
public void setDescription(String name) { addOrUpdateMappingValue(FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION, name); }
public static Description getDescriptionForScenario(Optional<String> className, int index, Scenario scenario) { return Description.createTestDescription(className.orElse(AbstractScenarioRunner.class.getCanonicalName()), String.format("#%d: %s", index, scenario.getDescription())); }
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 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()); }
@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 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 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 void run(KieContainer kieContainer, SimulationDescriptor simulationDescriptor, Scenario scenario, ExpressionEvaluator expressionEvaluator, ClassLoader classLoader, ScenarioRunnerData scenarioRunnerData) { extractGivenValues(simulationDescriptor, scenario.getUnmodifiableFactMappingValues(), classLoader, expressionEvaluator) .forEach(scenarioRunnerData::addGiven); extractExpectedValues(scenario.getUnmodifiableFactMappingValues()).forEach(scenarioRunnerData::addExpect); RequestContext requestContext = executeScenario(kieContainer, scenarioRunnerData, expressionEvaluator, simulationDescriptor); verifyConditions(simulationDescriptor, scenarioRunnerData, expressionEvaluator, requestContext); validateAssertion(scenarioRunnerData.getResults(), scenario); }
@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(expected = IllegalArgumentException.class) public void addMappingValueTest() { scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); // Should fail scenario.addMappingValue(factIdentifier, expressionIdentifier, "test value"); }
@Test public void extractExpectedValuesTest() { List<ScenarioExpect> scenario1Outputs = runnerHelper.extractExpectedValues(scenario1.getUnmodifiableFactMappingValues()); assertEquals(1, scenario1Outputs.size()); scenario2.addOrUpdateMappingValue(FactIdentifier.create("TEST", String.class.getCanonicalName()), ExpressionIdentifier.create("TEST", FactMappingType.EXPECT), "TEST"); List<ScenarioExpect> scenario2Outputs = runnerHelper.extractExpectedValues(scenario2.getUnmodifiableFactMappingValues()); assertEquals(3, scenario2Outputs.size()); assertEquals(1, scenario2Outputs.stream().filter(ScenarioExpect::isNewFact).count()); }
@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)); }
public void removeFactMappingValueByIdentifiers(FactIdentifier factIdentifier, ExpressionIdentifier expressionIdentifier) { getFactMappingValue(factIdentifier, expressionIdentifier).ifPresent(factMappingValues::remove); }
when(gridCellValueMock.getValue()).thenReturn(GRID_CELL_TEXT); when(scenarioMock.getUnmodifiableFactMappingValues()).thenReturn(factMappingValuesMock); when(simulationMock.cloneScenario(ROW_COUNT, ROW_COUNT + 1)).thenReturn(scenarioMock); when(scenarioMock.getFactMappingValue(any(), any())).thenReturn(Optional.of(factMappingValueMock)); when(factMappingValueMock.isError()).thenReturn(true);
scenarioSimulationModel.setSimulation(new RULESimulationCreationStrategy().createSimulation(this.path, "default")); Scenario scenario = scenarioSimulationModel.getSimulation().getScenarioByIndex(0); scenario.setDescription("Test Scenario"); String errorMessage = "Test Error"; assertEquals(1, failures.size()); String testDescription = String.format("#%d: %s", 1, scenario.getDescription()); String errorMessageFormatted = String.format("#%d: %s()", 1, errorMessage); org.guvnor.common.services.shared.test.Failure failure = failures.get(0);
default Scenario createScenario(Simulation simulation, SimulationDescriptor simulationDescriptor) { simulationDescriptor.addFactMapping(FactIdentifier.INDEX.getName(), FactIdentifier.INDEX, ExpressionIdentifier.INDEX); simulationDescriptor.addFactMapping(FactIdentifier.DESCRIPTION.getName(), FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION); Scenario toReturn = simulation.addScenario(); toReturn.setDescription(null); return toReturn; } }
private void cleanScenarios(FactMapping toRemove) { scenarios.forEach(e -> e.removeFactMappingValueByIdentifiers(toRemove.getFactIdentifier(), toRemove.getExpressionIdentifier())); } }
Scenario cloneScenario() { Scenario cloned = new Scenario(simulationDescriptor); cloned.factMappingValues.addAll(factMappingValues.stream().map(FactMappingValue::cloneFactMappingValue).collect(toList())); return cloned; } }