use of org.drools.workbench.models.testscenarios.shared.ExecutionTrace in project drools by kiegroup.
the class ScenarioTest method testAllowRemoveFact.
@Test
public void testAllowRemoveFact() {
Scenario sc = new Scenario();
FactData fd1 = new FactData("X", "x", new ArrayList(), false);
sc.getFixtures().add(fd1);
FactData fd2 = new FactData("Q", "q", new ArrayList(), false);
sc.getFixtures().add(fd2);
FactData fd3 = new FactData("Z", "z", new ArrayList(), false);
sc.getFixtures().add(fd3);
ExecutionTrace ex1 = new ExecutionTrace();
FactData fd4 = new FactData("I", "i", new ArrayList(), false);
sc.getGlobals().add(fd4);
sc.getFixtures().add(ex1);
sc.getFixtures().add(new RetractFact("z"));
sc.getFixtures().add(new FactData("Z", "z", new ArrayList(), true));
sc.getFixtures().add(new VerifyFact("q", new ArrayList()));
assertFalse(sc.isFactDataReferenced(fd1));
assertTrue(sc.isFactDataReferenced(fd2));
assertTrue(sc.isFactDataReferenced(fd3));
assertFalse(sc.isFactDataReferenced(fd4));
}
use of org.drools.workbench.models.testscenarios.shared.ExecutionTrace in project drools-wb by kiegroup.
the class ScenarioHelper method lumpyMap.
/**
* Called lumpy map - as this takes a flat list of fixtures, and groups
* things together. It will return a list - of which each element will
* either be a list - or a map. If its a map - then its a map of FactData to
* the fact type. If its a list, then it will be expectations or
* retractions.
* <p/>
* Man, this will be so much nicer with generics.
* @return List<List<VeryifyRuleFired or VerifyFact or RetractFact> OR
* Map<String, List<FactData>> OR ExecutionTrace>
*/
public List<Fixture> lumpyMap(final List<Fixture> fixtures) {
List<Fixture> output = new ArrayList<Fixture>();
FixturesMap dataInput = new FixturesMap();
CallFixtureMap callOnDataInput = new CallFixtureMap();
FixtureList verifyFact = new FixtureList();
FixtureList verifyRule = new FixtureList();
FixtureList retractFacts = new FixtureList();
for (Fixture fixture : fixtures) {
if (fixture instanceof FactData) {
accumulateDataForFactData(dataInput, (FactData) fixture);
} else if (fixture instanceof CallMethod) {
accumulateCallMethod(callOnDataInput, (CallMethod) fixture);
} else if (fixture instanceof ActivateRuleFlowGroup) {
accumulateDataForActivateRuleFlowGroup(dataInput, fixture);
} else if (fixture instanceof RetractFact) {
retractFacts.add(fixture);
} else if (fixture instanceof VerifyRuleFired) {
verifyRule.add(fixture);
} else if (fixture instanceof VerifyFact) {
verifyFact.add(fixture);
} else if (fixture instanceof ExecutionTrace) {
gatherFixtures(output, dataInput, callOnDataInput, verifyFact, verifyRule, retractFacts, false);
output.add(fixture);
verifyRule = new FixtureList();
verifyFact = new FixtureList();
retractFacts = new FixtureList();
callOnDataInput = new CallFixtureMap();
dataInput = new FixturesMap();
}
}
gatherFixtures(output, dataInput, callOnDataInput, verifyFact, verifyRule, retractFacts, true);
return output;
}
use of org.drools.workbench.models.testscenarios.shared.ExecutionTrace in project drools-wb by kiegroup.
the class DeleteExecutionTraceButtonTest method testInit.
@Test
public void testInit() throws Exception {
final DeleteExecutionTraceButton testedButton = spy(new DeleteExecutionTraceButton());
final Scenario scenario = mock(Scenario.class);
final ExecutionTrace executionTrace = mock(ExecutionTrace.class);
final ScenarioParentWidget parentWidgetToRender = mock(ScenarioParentWidget.class);
doReturn(true).when(testedButton).deleteOperationConfirmed();
testedButton.init(scenario, executionTrace, parentWidgetToRender);
verify(testedButton).addClickHandler(clickCaptor.capture());
clickCaptor.getValue().onClick(null);
verify(scenario).removeExecutionTrace(executionTrace);
verify(parentWidgetToRender).renderEditor();
}
use of org.drools.workbench.models.testscenarios.shared.ExecutionTrace in project drools-wb by kiegroup.
the class FixtureLayoutTest method testDeleteExecutionTraceButtonNoExecutionTraceRenderedAlready.
@Test
public void testDeleteExecutionTraceButtonNoExecutionTraceRenderedAlready() throws Exception {
final Scenario scenario = mock(Scenario.class);
final ExecutionTrace executionTrace = null;
final ScenarioParentWidget parentWidgetToRender = mock(ScenarioParentWidget.class);
testedLayout.addDeleteExecutionTraceButtonIfNotNull(scenario, executionTrace, parentWidgetToRender);
verify(testedLayout, never()).setWidget(anyInt(), anyInt(), any(DeleteExecutionTraceButton.class));
}
use of org.drools.workbench.models.testscenarios.shared.ExecutionTrace in project drools-wb by kiegroup.
the class ScenarioUtilsTest method testFindExecutionTrace.
@Test
public void testFindExecutionTrace() throws Exception {
final Scenario scenario = new Scenario();
final ExecutionTrace executionTrace = new ExecutionTrace();
scenario.getFixtures().add(executionTrace);
Assert.assertEquals(executionTrace, ScenarioUtils.findExecutionTrace(scenario));
}
Aggregations