use of org.drools.workbench.models.datamodel.rule.ExpressionUnboundFact in project drools by kiegroup.
the class RuleModelDRLPersistenceTest method testLHSExpressionNumber.
@Test
public void testLHSExpressionNumber() {
RuleModel m = new RuleModel();
m.name = "test expressionsNumber";
FactPattern p = new FactPattern("Person");
SingleFieldConstraintEBLeftSide con = new SingleFieldConstraintEBLeftSide();
con.getExpressionLeftSide().appendPart(new ExpressionUnboundFact(p.getFactType()));
con.getExpressionLeftSide().appendPart(new ExpressionField("field1", "java.lang.Integer", DataType.TYPE_NUMERIC_INTEGER));
con.setOperator("==");
con.setValue("55");
con.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
p.addConstraint(con);
m.addLhsItem(p);
String expected = "rule \"test expressionsNumber\"" + "\tdialect \"mvel\"\n when " + " Person( field1 == 55 )" + " then " + "end";
checkMarshalling(expected, m);
}
use of org.drools.workbench.models.datamodel.rule.ExpressionUnboundFact in project drools by kiegroup.
the class RuleModelDRLPersistenceTest method testLHSExpressionNestedJavaEnum.
@Test
public void testLHSExpressionNestedJavaEnum() {
RuleModel m = new RuleModel();
m.name = "test expressionsNestedJavaEnum";
FactPattern p = new FactPattern("Person");
SingleFieldConstraintEBLeftSide con = new SingleFieldConstraintEBLeftSide();
con.getExpressionLeftSide().appendPart(new ExpressionUnboundFact(p.getFactType()));
con.getExpressionLeftSide().appendPart(new ExpressionField("favouriteCheese", "Cheese", DataType.TYPE_OBJECT));
con.getExpressionLeftSide().appendPart(new ExpressionField("genericName", "CHEESE", DataType.TYPE_COMPARABLE));
con.setOperator("==");
con.setValue("CHEESE.Cheddar");
con.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
p.addConstraint(con);
m.addLhsItem(p);
String expected = "rule \"test expressionsNestedJavaEnum\"" + "\tdialect \"mvel\"\n when " + " Person( favouriteCheese.genericName == CHEESE.Cheddar )" + " then " + "end";
checkMarshalling(expected, m);
}
use of org.drools.workbench.models.datamodel.rule.ExpressionUnboundFact in project drools by kiegroup.
the class RuleModelDRLPersistenceTest method testLHSFormula.
@Test
public void testLHSFormula() {
// https://bugzilla.redhat.com/show_bug.cgi?id=1087690
RuleModel m = new RuleModel();
m.name = "test";
FactPattern p = new FactPattern("Number");
m.addLhsItem(p);
SingleFieldConstraint con1 = new SingleFieldConstraint();
con1.setValue("true");
con1.setConstraintValueType(SingleFieldConstraint.TYPE_PREDICATE);
p.addConstraint(con1);
SingleFieldConstraintEBLeftSide con2 = new SingleFieldConstraintEBLeftSide();
con2.getExpressionLeftSide().appendPart(new ExpressionUnboundFact(p.getFactType()));
con2.getExpressionLeftSide().appendPart(new ExpressionMethod("intValue", "int", DataType.TYPE_NUMERIC_INTEGER));
con2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
con2.setOperator("==");
con2.setValue("0");
p.addConstraint(con2);
String expected = "rule \"test\"\n" + "dialect \"mvel\"\n" + "when\n" + "Number( eval( true ), intValue() == 0 )\n" + "then\n" + "end";
checkMarshalling(expected, m);
}
use of org.drools.workbench.models.datamodel.rule.ExpressionUnboundFact in project drools by kiegroup.
the class RuleModelDRLPersistenceTest method testLHSExpressionBoolean.
@Test
public void testLHSExpressionBoolean() {
RuleModel m = new RuleModel();
m.name = "test expressionsBoolean";
FactPattern p = new FactPattern("Person");
SingleFieldConstraintEBLeftSide con = new SingleFieldConstraintEBLeftSide();
con.getExpressionLeftSide().appendPart(new ExpressionUnboundFact(p.getFactType()));
con.getExpressionLeftSide().appendPart(new ExpressionField("field1", "java.lang.Boolean", DataType.TYPE_BOOLEAN));
con.setOperator("==");
con.setValue("true");
con.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
p.addConstraint(con);
m.addLhsItem(p);
String expected = "rule \"test expressionsBoolean\"" + "\tdialect \"mvel\"\n when " + " Person( field1 == true )" + " then " + "end";
checkMarshalling(expected, m);
}
use of org.drools.workbench.models.datamodel.rule.ExpressionUnboundFact in project drools by kiegroup.
the class RuleModelDRLPersistenceTest method testLHSReturnType.
@Test
public void testLHSReturnType() {
// https://bugzilla.redhat.com/show_bug.cgi?id=1087690
RuleModel m = new RuleModel();
m.name = "test";
FactPattern p = new FactPattern("Number");
m.addLhsItem(p);
SingleFieldConstraint con1 = new SingleFieldConstraint();
con1.setFieldType(DataType.TYPE_NUMERIC_INTEGER);
con1.setFieldName("this");
con1.setOperator("!= null");
con1.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
p.addConstraint(con1);
SingleFieldConstraintEBLeftSide con2 = new SingleFieldConstraintEBLeftSide();
con2.getExpressionLeftSide().appendPart(new ExpressionUnboundFact(p.getFactType()));
con2.getExpressionLeftSide().appendPart(new ExpressionMethod("intValue", "int", DataType.TYPE_NUMERIC_INTEGER));
con2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
con2.setOperator("==");
con2.setValue("0");
p.addConstraint(con2);
String expected = "rule \"test\"\n" + "dialect \"mvel\"\n" + "when\n" + "Number( this != null, intValue() == 0 )\n" + "then\n" + "end";
checkMarshalling(expected, m);
}
Aggregations