This is an automated email from the ASF dual-hosted git repository.
mariofusco pushed a commit to branch dev-new-parser
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/dev-new-parser by this push:
new 6d8f9d5777 [incubator-kie-drools-5980-DSL] [new-parser] Enable DSL
tests (#5981)
6d8f9d5777 is described below
commit 6d8f9d5777b742ef55c84b20f06d40286acea1bb
Author: Toshiya Kobayashi <[email protected]>
AuthorDate: Fri Jun 7 15:23:28 2024 +0900
[incubator-kie-drools-5980-DSL] [new-parser] Enable DSL tests (#5981)
---
.../drl/parser/antlr4/MiscDRLParserTest.java | 126 ++++++++++-----------
1 file changed, 60 insertions(+), 66 deletions(-)
diff --git
a/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
b/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
index 7057579d8d..92df973dda 100644
---
a/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
+++
b/drools-drl/drools-drl-parser-tests/src/test/java/org/drools/drl/parser/antlr4/MiscDRLParserTest.java
@@ -20,6 +20,7 @@ package org.drools.drl.parser.antlr4;
import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.io.UncheckedIOException;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
@@ -131,6 +132,17 @@ class MiscDRLParserTest {
}
}
+ private PackageDescr parseAndGetPackageDescrWithDsl(String dslrFileName,
String dslFileName) {
+ try (InputStreamReader dslr = new
InputStreamReader(getClass().getResourceAsStream(dslrFileName));
+ InputStreamReader dsl = new
InputStreamReader(getClass().getResourceAsStream(dslFileName))) {
+ PackageDescr pkg = parser.parse(dslr, dsl);
+
assertThat(parser.hasErrors()).as(parser.getErrors().toString()).isFalse();
+ return pkg;
+ } catch (DroolsParserException | IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
private RuleDescr parseAndGetFirstRuleDescr(String drl) {
PackageDescr pkg = parseAndGetPackageDescr(drl);
assertThat(pkg.getRules()).isNotEmpty();
@@ -1161,73 +1173,55 @@ class MiscDRLParserTest {
assertThat(first.getObjectType()).isEqualTo("Cheese");
}
- @Disabled("Priority : low | Not yet support DSL")
- @Test
- public void parse_ExpanderLineSpread() throws Exception {
-// final DrlParser parser = new DrlParser(LanguageLevelOption.DRL6);
-// final PackageDescr pkg = parser.parse( this.getReader(
"expander_spread_lines.dslr" ),
-// this.getReader( "complex.dsl"
) );
-//
-//
assertThat(parser.hasErrors()).as(parser.getErrors().toString()).isFalse();
-//
-// final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 );
-// assertThat(rule.getLhs().getDescrs().size()).isEqualTo(1);
-//
-// final OrDescr or = (OrDescr) rule.getLhs().getDescrs().get( 0 );
-// assertThat(or.getDescrs().size()).isEqualTo(2);
-// assertThat( (String) rule.getConsequence() ).isNotNull();
-
- }
-
- @Disabled("Priority : low | Not yet support DSL")
- @Test
- public void parse_ExpanderMultipleConstraints() throws Exception {
-// final DrlParser parser = new DrlParser(LanguageLevelOption.DRL6);
-// final PackageDescr pkg = parser.parse( this.getReader(
"expander_multiple_constraints.dslr" ),
-// this.getReader(
"multiple_constraints.dsl" ) );
-//
-//
assertThat(parser.hasErrors()).as(parser.getErrors().toString()).isFalse();
-//
-// final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 );
-// assertThat(rule.getLhs().getDescrs().size()).isEqualTo(2);
-//
-// PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(
0 );
-// assertThat(pattern.getObjectType()).isEqualTo("Person");
-//
-// assertThat(pattern.getConstraint().getDescrs().size()).isEqualTo(2);
-// assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(0)).getExpression()).isEqualTo("age <
42");
-// assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(1)).getExpression()).isEqualTo("location==atlanta");
-//
-// pattern = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
-// assertThat(pattern.getObjectType()).isEqualTo("Bar");
-//
-// assertThat( (String) rule.getConsequence() ).isNotNull();
-
- }
-
- @Disabled("Priority : low | Not yet support DSL")
- @Test
- public void parse_ExpanderMultipleConstraintsFlush() throws Exception {
-// final DrlParser parser = new DrlParser(LanguageLevelOption.DRL6);
-// // this is similar to the other test, but it requires a flush to add
the
-// // constraints
-// final PackageDescr pkg = parser.parse( this.getReader(
"expander_multiple_constraints_flush.dslr" ),
-// this.getReader(
"multiple_constraints.dsl" ) );
-//
-//
assertThat(parser.hasErrors()).as(parser.getErrors().toString()).isFalse();
-//
-// final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 );
-// assertThat(rule.getLhs().getDescrs().size()).isEqualTo(1);
-//
-// final PatternDescr pattern = (PatternDescr)
rule.getLhs().getDescrs().get( 0 );
-// assertThat(pattern.getObjectType()).isEqualTo("Person");
-//
-// assertThat(pattern.getConstraint().getDescrs().size()).isEqualTo(2);
-// assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(0)).getExpression()).isEqualTo("age <
42");
-// assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(1)).getExpression()).isEqualTo("location==atlanta");
-//
-// assertThat( (String) rule.getConsequence() ).isNotNull();
+ @Test
+ public void parse_ExpanderLineSpread() {
+ final PackageDescr pkg =
parseAndGetPackageDescrWithDsl("expander_spread_lines.dslr", "complex.dsl");
+
+ final RuleDescr rule = pkg.getRules().get(0);
+ assertThat(rule.getLhs().getDescrs().size()).isEqualTo(1);
+
+ final OrDescr or = (OrDescr) rule.getLhs().getDescrs().get(0);
+ assertThat(or.getDescrs().size()).isEqualTo(2);
+ assertThat((String) rule.getConsequence()).isNotNull();
+ }
+
+ @Test
+ public void parse_ExpanderMultipleConstraints() {
+ final PackageDescr pkg =
parseAndGetPackageDescrWithDsl("expander_multiple_constraints.dslr",
"multiple_constraints.dsl");
+
+ final RuleDescr rule = pkg.getRules().get(0);
+ assertThat(rule.getLhs().getDescrs().size()).isEqualTo(2);
+
+ PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+ assertThat(pattern.getObjectType()).isEqualTo("Person");
+
+ assertThat(pattern.getConstraint().getDescrs().size()).isEqualTo(2);
+ assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(0)).getExpression()).isEqualTo("age <
42");
+ assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(1)).getExpression()).isEqualTo("location==atlanta");
+
+ pattern = (PatternDescr) rule.getLhs().getDescrs().get(1);
+ assertThat(pattern.getObjectType()).isEqualTo("Bar");
+
+ assertThat((String) rule.getConsequence()).isNotNull();
+ }
+
+ @Test
+ public void parse_ExpanderMultipleConstraintsFlush() {
+ // this is similar to the other test, but it requires a flush to add
the
+ // constraints
+ final PackageDescr pkg =
parseAndGetPackageDescrWithDsl("expander_multiple_constraints_flush.dslr",
"multiple_constraints.dsl");
+
+ final RuleDescr rule = pkg.getRules().get(0);
+ assertThat(rule.getLhs().getDescrs().size()).isEqualTo(1);
+
+ final PatternDescr pattern = (PatternDescr)
rule.getLhs().getDescrs().get(0);
+ assertThat(pattern.getObjectType()).isEqualTo("Person");
+
+ assertThat(pattern.getConstraint().getDescrs().size()).isEqualTo(2);
+ assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(0)).getExpression()).isEqualTo("age <
42");
+ assertThat(((ExprConstraintDescr)
pattern.getConstraint().getDescrs().get(1)).getExpression()).isEqualTo("location==atlanta");
+ assertThat((String) rule.getConsequence()).isNotNull();
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]