Search in sources :

Example 21 with ExecutionTrace

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));
}
Also used : FactData(org.drools.workbench.models.testscenarios.shared.FactData) ArrayList(java.util.ArrayList) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) VerifyFact(org.drools.workbench.models.testscenarios.shared.VerifyFact) RetractFact(org.drools.workbench.models.testscenarios.shared.RetractFact) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Example 22 with ExecutionTrace

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;
}
Also used : VerifyRuleFired(org.drools.workbench.models.testscenarios.shared.VerifyRuleFired) ArrayList(java.util.ArrayList) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) ActivateRuleFlowGroup(org.drools.workbench.models.testscenarios.shared.ActivateRuleFlowGroup) CallMethod(org.drools.workbench.models.testscenarios.shared.CallMethod) CallFixtureMap(org.drools.workbench.models.testscenarios.shared.CallFixtureMap) FactData(org.drools.workbench.models.testscenarios.shared.FactData) FixturesMap(org.drools.workbench.models.testscenarios.shared.FixturesMap) Fixture(org.drools.workbench.models.testscenarios.shared.Fixture) VerifyFact(org.drools.workbench.models.testscenarios.shared.VerifyFact) FixtureList(org.drools.workbench.models.testscenarios.shared.FixtureList) RetractFact(org.drools.workbench.models.testscenarios.shared.RetractFact)

Example 23 with ExecutionTrace

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();
}
Also used : ScenarioParentWidget(org.drools.workbench.screens.testscenario.client.ScenarioParentWidget) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Example 24 with ExecutionTrace

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));
}
Also used : ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) DeleteExecutionTraceButton(org.drools.workbench.screens.testscenario.client.delete.DeleteExecutionTraceButton) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Example 25 with ExecutionTrace

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));
}
Also used : ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Aggregations

ExecutionTrace (org.drools.workbench.models.testscenarios.shared.ExecutionTrace)26 Test (org.junit.Test)22 Scenario (org.drools.workbench.models.testscenarios.shared.Scenario)20 FactData (org.drools.workbench.models.testscenarios.shared.FactData)16 VerifyFact (org.drools.workbench.models.testscenarios.shared.VerifyFact)13 VerifyField (org.drools.workbench.models.testscenarios.shared.VerifyField)9 FieldData (org.drools.workbench.models.testscenarios.shared.FieldData)8 VerifyRuleFired (org.drools.workbench.models.testscenarios.shared.VerifyRuleFired)8 ArrayList (java.util.ArrayList)7 KieSession (org.kie.api.runtime.KieSession)7 Import (org.kie.soup.project.datamodel.imports.Import)7 Expectation (org.drools.workbench.models.testscenarios.shared.Expectation)6 RetractFact (org.drools.workbench.models.testscenarios.shared.RetractFact)6 Field (org.drools.workbench.models.testscenarios.shared.Field)4 Fixture (org.drools.workbench.models.testscenarios.shared.Fixture)4 Date (java.util.Date)3 ActivateRuleFlowGroup (org.drools.workbench.models.testscenarios.shared.ActivateRuleFlowGroup)3 HashSet (java.util.HashSet)2 ProjectClassLoader (org.drools.core.common.ProjectClassLoader)2 KnowledgeBaseImpl (org.drools.core.impl.KnowledgeBaseImpl)2