use of org.drools.workbench.models.testscenarios.shared.VerifyField in project drools by kiegroup.
the class FactVerifierTest method testVerifyFactsWithOperator.
@Test
public void testVerifyFactsWithOperator() throws Exception {
TypeResolver typeResolver = mock(TypeResolver.class);
Cheese f1 = new Cheese("cheddar", 42);
HashMap<String, Object> populatedData = new HashMap<String, Object>();
populatedData.put("f1", f1);
// configure the mock to return the value
Set o = Collections.singleton((Object) f1);
when(ksession.getObjects()).thenReturn(o);
FactVerifier factVerifier = new FactVerifier(populatedData, typeResolver, ksession, new HashMap<String, Object>());
// test all true
VerifyFact vf = new VerifyFact();
vf.setName("f1");
vf.getFieldValues().add(new VerifyField("type", "cheddar", "=="));
vf.getFieldValues().add(new VerifyField("price", "4777", "!="));
factVerifier.verify(vf);
for (int i = 0; i < vf.getFieldValues().size(); i++) {
assertTrue(vf.getFieldValues().get(i).getSuccessResult());
}
vf = new VerifyFact();
vf.setName("f1");
vf.getFieldValues().add(new VerifyField("type", "cheddar", "!="));
factVerifier.verify(vf);
assertFalse(vf.getFieldValues().get(0).getSuccessResult());
}
use of org.drools.workbench.models.testscenarios.shared.VerifyField in project drools-wb by kiegroup.
the class TestScenarioFactory method makeTestScenarioWithGlobalVerifyGlobal.
public static Scenario makeTestScenarioWithGlobalVerifyGlobal(final String packageName, final Collection<Import> imports, final String name) {
final Scenario model = new Scenario();
model.getImports().getImports().addAll(imports);
model.setPackageName(packageName);
model.setName(name);
model.getGlobals().add(new FactData("Date", "day", new ArrayList<Field>(), false));
model.getFixtures().add(new VerifyFact("day", new ArrayList<VerifyField>() {
{
add(new VerifyField("minutes", "45", "=="));
}
}, false));
return model;
}
use of org.drools.workbench.models.testscenarios.shared.VerifyField in project drools-wb by kiegroup.
the class VerifyFactWidget method render.
private FlexTable render(final VerifyFact vf) {
FlexTable data = new FlexTable();
for (int i = 0; i < vf.getFieldValues().size(); i++) {
final VerifyField fld = (VerifyField) vf.getFieldValues().get(i);
data.setWidget(i, 1, new SmallLabel(fld.getFieldName() + ":"));
data.getFlexCellFormatter().setHorizontalAlignment(i, 1, HasHorizontalAlignment.ALIGN_RIGHT);
final ListBox opr = new ListBox();
opr.addItem(TestScenarioConstants.INSTANCE.equalsScenario(), "==");
opr.addItem(TestScenarioConstants.INSTANCE.doesNotEqualScenario(), "!=");
if (fld.getOperator().equals("==")) {
opr.setSelectedIndex(0);
} else {
opr.setSelectedIndex(1);
}
opr.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
fld.setOperator(opr.getValue(opr.getSelectedIndex()));
}
});
data.setWidget(i, 2, opr);
Widget cellEditor = new VerifyFieldConstraintEditor(type, new ValueChanged() {
public void valueChanged(String newValue) {
fld.setExpected(newValue);
}
}, fld, oracle, this.scenario, this.executionTrace);
data.setWidget(i, 3, cellEditor);
Button deleteButton = new Button();
deleteButton.setIcon(IconType.TRASH);
deleteButton.setTitle(TestScenarioConstants.INSTANCE.RemoveThisFieldExpectation());
deleteButton.addClickHandler(clickEvent -> {
if (Window.confirm(TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisFieldExpectation(fld.getFieldName()))) {
vf.getFieldValues().remove(fld);
FlexTable renderedTableAfterDelete = render(vf);
outer.setWidget(1, 0, renderedTableAfterDelete);
}
});
data.setWidget(i, 4, deleteButton);
if (showResults && fld.getSuccessResult() != null) {
if (!fld.getSuccessResult().booleanValue()) {
data.setWidget(i, 0, new Image(CommonImages.INSTANCE.warning()));
data.setWidget(i, 5, new HTML(TestScenarioConstants.INSTANCE.ActualResult(fld.getActualResult())));
data.getCellFormatter().addStyleName(i, 5, // NON-NLS
"testErrorValue");
} else {
data.setWidget(i, 0, new Image(TestScenarioImages.INSTANCE.testPassed()));
}
}
}
ScenarioUtils.addBottomAndRightPaddingToTableCells(data);
return data;
}
Aggregations