Search in sources :

Example 6 with Field

use of org.drools.workbench.models.testscenarios.shared.Field in project drools by kiegroup.

the class FactPopulatorBase method getFieldPopulators.

protected List<FieldPopulator> getFieldPopulators(Object factObject) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
    FieldPopulatorFactory fieldPopulatorFactory = new FieldPopulatorFactory(factObject, typeResolver);
    List<FieldPopulator> fieldPopulators = new ArrayList<FieldPopulator>();
    for (Field field : fact.getFieldData()) {
        try {
            fieldPopulators.add(fieldPopulatorFactory.getFieldPopulator(field));
        } catch (IllegalArgumentException e) {
        // This should never happen, but I don't trust myself or the legacy test scenarios we have.
        // If the field value is null then it is safe to ignore it.
        }
    }
    return fieldPopulators;
}
Also used : Field(org.drools.workbench.models.testscenarios.shared.Field) ArrayList(java.util.ArrayList)

Example 7 with Field

use of org.drools.workbench.models.testscenarios.shared.Field in project drools by kiegroup.

the class ScenarioRunnerTest method testIntegrationWithModify.

@Test
public void testIntegrationWithModify() throws Exception {
    Scenario sc = new Scenario();
    sc.getImports().addImport(new Import("org.drools.workbench.models.testscenarios.backend.Cheese"));
    sc.getFixtures().add(new FactData("Cheese", "c1", Arrays.<Field>asList(new FieldData("price", "1")), false));
    sc.getFixtures().add(new ExecutionTrace());
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "rule1", "=="))));
    sc.getFixtures().add(new FactData("Cheese", "c1", Arrays.<Field>asList(new FieldData("price", "42")), true));
    sc.getFixtures().add(new ExecutionTrace());
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "rule3", "=="))));
    KieSession ksession = getKieSession("test_stateful.drl");
    ScenarioRunner run = new ScenarioRunner(ksession);
    run.run(sc);
    assertTrue(sc.wasSuccessful());
}
Also used : FieldData(org.drools.workbench.models.testscenarios.shared.FieldData) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) Field(org.drools.workbench.models.testscenarios.shared.Field) Import(org.kie.soup.project.datamodel.imports.Import) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) FactData(org.drools.workbench.models.testscenarios.shared.FactData) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) KieSession(org.kie.api.runtime.KieSession) VerifyFact(org.drools.workbench.models.testscenarios.shared.VerifyFact) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Example 8 with Field

use of org.drools.workbench.models.testscenarios.shared.Field in project drools by kiegroup.

the class ScenarioRunnerTest method testIntgerationStateful.

@Test
public void testIntgerationStateful() throws Exception {
    Scenario sc = new Scenario();
    sc.getImports().addImport(new Import("org.drools.workbench.models.testscenarios.backend.Cheese"));
    sc.getFixtures().add(new FactData("Cheese", "c1", Arrays.<Field>asList(new FieldData("price", "1")), false));
    ExecutionTrace ex = new ExecutionTrace();
    sc.getFixtures().add(ex);
    sc.getFixtures().add(new FactData("Cheese", "c2", Arrays.<Field>asList(new FieldData("price", "2")), false));
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "rule1", "=="))));
    ex = new ExecutionTrace();
    sc.getFixtures().add(ex);
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "rule2", "=="))));
    KieSession ksession = getKieSession("test_stateful.drl");
    ScenarioRunner run = new ScenarioRunner(ksession);
    run.run(sc);
    assertTrue(sc.wasSuccessful());
}
Also used : FieldData(org.drools.workbench.models.testscenarios.shared.FieldData) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) Field(org.drools.workbench.models.testscenarios.shared.Field) Import(org.kie.soup.project.datamodel.imports.Import) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) FactData(org.drools.workbench.models.testscenarios.shared.FactData) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) KieSession(org.kie.api.runtime.KieSession) VerifyFact(org.drools.workbench.models.testscenarios.shared.VerifyFact) Scenario(org.drools.workbench.models.testscenarios.shared.Scenario) Test(org.junit.Test)

Example 9 with Field

use of org.drools.workbench.models.testscenarios.shared.Field in project drools by kiegroup.

the class ScenarioRunnerTest method testIntegrationWithRetract.

@Test
public void testIntegrationWithRetract() throws Exception {
    Scenario sc = new Scenario();
    sc.getImports().addImport(new Import("org.drools.workbench.models.testscenarios.backend.Cheese"));
    sc.getFixtures().add(new FactData("Cheese", "c1", Arrays.<Field>asList(new FieldData("price", "46"), new FieldData("type", "XXX")), false));
    sc.getFixtures().add(new FactData("Cheese", "c2", Arrays.<Field>asList(new FieldData("price", "42")), false));
    sc.getFixtures().add(new ExecutionTrace());
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "XXX", "=="))));
    sc.getFixtures().add(new RetractFact("c2"));
    sc.getFixtures().add(new ExecutionTrace());
    sc.getFixtures().add(new VerifyFact("c1", ls(new VerifyField("type", "rule4", "=="))));
    KieSession ksession = getKieSession("test_stateful.drl");
    ScenarioRunner run = new ScenarioRunner(ksession);
    run.run(sc);
    assertTrue(sc.wasSuccessful());
}
Also used : FieldData(org.drools.workbench.models.testscenarios.shared.FieldData) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) Field(org.drools.workbench.models.testscenarios.shared.Field) Import(org.kie.soup.project.datamodel.imports.Import) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) FactData(org.drools.workbench.models.testscenarios.shared.FactData) ExecutionTrace(org.drools.workbench.models.testscenarios.shared.ExecutionTrace) KieSession(org.kie.api.runtime.KieSession) 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 10 with Field

use of org.drools.workbench.models.testscenarios.shared.Field in project drools by kiegroup.

the class FactPopulatorTest method testCollectionSums.

@Test
public void testCollectionSums() throws Exception {
    TypeResolver typeResolver = getTypeResolver();
    List<Field> fieldData = new ArrayList<Field>();
    CollectionFieldData collectionFieldData = new CollectionFieldData();
    collectionFieldData.setName("list");
    fieldData.add(collectionFieldData);
    collectionFieldData.getCollectionFieldList().add(new FieldData("list", "=1+3"));
    FactData wrapperFactData = new FactData("MyCollectionWrapper", "wrapper", fieldData, false);
    factPopulator.add(new NewFactPopulator(populatedData, typeResolver, wrapperFactData));
    factPopulator.populate();
    assertTrue(populatedData.containsKey("wrapper"));
    MyCollectionWrapper wrapper = (MyCollectionWrapper) populatedData.get("wrapper");
    assertNotNull(wrapper);
    assertEquals(1, wrapper.getList().size());
    assertNotNull(wrapper.getList().get(0));
    assertEquals(4, wrapper.getList().get(0));
}
Also used : CollectionFieldData(org.drools.workbench.models.testscenarios.shared.CollectionFieldData) FieldData(org.drools.workbench.models.testscenarios.shared.FieldData) Field(org.drools.workbench.models.testscenarios.shared.Field) MyCollectionWrapper(org.drools.workbench.models.testscenarios.backend.MyCollectionWrapper) ClassTypeResolver(org.kie.soup.project.datamodel.commons.types.ClassTypeResolver) TypeResolver(org.kie.soup.project.datamodel.commons.types.TypeResolver) FactData(org.drools.workbench.models.testscenarios.shared.FactData) ArrayList(java.util.ArrayList) CollectionFieldData(org.drools.workbench.models.testscenarios.shared.CollectionFieldData) Test(org.junit.Test)

Aggregations

Field (org.drools.workbench.models.testscenarios.shared.Field)15 FieldData (org.drools.workbench.models.testscenarios.shared.FieldData)13 FactData (org.drools.workbench.models.testscenarios.shared.FactData)12 Test (org.junit.Test)10 CollectionFieldData (org.drools.workbench.models.testscenarios.shared.CollectionFieldData)7 VerifyFact (org.drools.workbench.models.testscenarios.shared.VerifyFact)6 VerifyField (org.drools.workbench.models.testscenarios.shared.VerifyField)6 ArrayList (java.util.ArrayList)5 Scenario (org.drools.workbench.models.testscenarios.shared.Scenario)5 Import (org.kie.soup.project.datamodel.imports.Import)5 ExecutionTrace (org.drools.workbench.models.testscenarios.shared.ExecutionTrace)4 KieSession (org.kie.api.runtime.KieSession)4 ClassTypeResolver (org.kie.soup.project.datamodel.commons.types.ClassTypeResolver)4 TypeResolver (org.kie.soup.project.datamodel.commons.types.TypeResolver)4 Cheese (org.drools.workbench.models.testscenarios.backend.Cheese)3 HashMap (java.util.HashMap)2 Cheesery (org.drools.workbench.models.testscenarios.backend.Cheesery)2 Fixture (org.drools.workbench.models.testscenarios.shared.Fixture)2 VerifyRuleFired (org.drools.workbench.models.testscenarios.shared.VerifyRuleFired)2 IsWidget (com.google.gwt.user.client.ui.IsWidget)1