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;
}
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());
}
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());
}
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());
}
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));
}
Aggregations