aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/testFixtures
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-19 21:33:55 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-19 21:42:05 +0200
commit7fb99f0225911a8962aaf3493b89f41e791df359 (patch)
treef289ac1433f91e2b1c9e1a5eab92ae6b52aa9d83 /subprojects/language/src/testFixtures
parentrefactor(language): clarify containment hierarchy (diff)
downloadrefinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.gz
refinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.zst
refinery-7fb99f0225911a8962aaf3493b89f41e791df359.zip
feat(language): problem desugaring
Diffstat (limited to 'subprojects/language/src/testFixtures')
-rw-r--r--subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java8
-rw-r--r--subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java7
-rw-r--r--subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java13
3 files changed, 17 insertions, 11 deletions
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java
index 61492184..ad57a438 100644
--- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java
+++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java
@@ -1,10 +1,6 @@
1package tools.refinery.language.model.tests.utils; 1package tools.refinery.language.model.tests.utils;
2 2
3import tools.refinery.language.model.problem.Argument; 3import tools.refinery.language.model.problem.*;
4import tools.refinery.language.model.problem.Node;
5import tools.refinery.language.model.problem.Variable;
6import tools.refinery.language.model.problem.VariableOrNode;
7import tools.refinery.language.model.problem.VariableOrNodeArgument;
8 4
9public record WrappedArgument(Argument argument) { 5public record WrappedArgument(Argument argument) {
10 public Argument get() { 6 public Argument get() {
@@ -18,7 +14,7 @@ public record WrappedArgument(Argument argument) {
18 public Variable variable() { 14 public Variable variable() {
19 return (Variable) variableOrNode(); 15 return (Variable) variableOrNode();
20 } 16 }
21 17
22 public Node node() { 18 public Node node() {
23 return (Node) variableOrNode(); 19 return (Node) variableOrNode();
24 } 20 }
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java
index 77ad3746..b8b3a7de 100644
--- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java
+++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java
@@ -1,6 +1,7 @@
1package tools.refinery.language.model.tests.utils; 1package tools.refinery.language.model.tests.utils;
2 2
3import tools.refinery.language.model.problem.AssertionArgument; 3import tools.refinery.language.model.problem.AssertionArgument;
4import tools.refinery.language.model.problem.ConstantAssertionArgument;
4import tools.refinery.language.model.problem.Node; 5import tools.refinery.language.model.problem.Node;
5import tools.refinery.language.model.problem.NodeAssertionArgument; 6import tools.refinery.language.model.problem.NodeAssertionArgument;
6 7
@@ -8,8 +9,12 @@ public record WrappedAssertionArgument(AssertionArgument assertionArgument) {
8 public AssertionArgument get() { 9 public AssertionArgument get() {
9 return assertionArgument; 10 return assertionArgument;
10 } 11 }
11 12
12 public Node node() { 13 public Node node() {
13 return ((NodeAssertionArgument) assertionArgument).getNode(); 14 return ((NodeAssertionArgument) assertionArgument).getNode();
14 } 15 }
16
17 public Node constantNode() {
18 return ((ConstantAssertionArgument) assertionArgument).getNode();
19 }
15} 20}
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java
index 2bedb4a6..aef96b5b 100644
--- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java
+++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java
@@ -6,7 +6,6 @@ import java.util.stream.Stream;
6import org.eclipse.emf.ecore.resource.Resource.Diagnostic; 6import org.eclipse.emf.ecore.resource.Resource.Diagnostic;
7import org.eclipse.emf.ecore.util.EcoreUtil; 7import org.eclipse.emf.ecore.util.EcoreUtil;
8 8
9import tools.refinery.language.ProblemUtil;
10import tools.refinery.language.model.problem.Assertion; 9import tools.refinery.language.model.problem.Assertion;
11import tools.refinery.language.model.problem.ClassDeclaration; 10import tools.refinery.language.model.problem.ClassDeclaration;
12import tools.refinery.language.model.problem.EnumDeclaration; 11import tools.refinery.language.model.problem.EnumDeclaration;
@@ -18,6 +17,8 @@ import tools.refinery.language.model.problem.PredicateDefinition;
18import tools.refinery.language.model.problem.Problem; 17import tools.refinery.language.model.problem.Problem;
19import tools.refinery.language.model.problem.RuleDefinition; 18import tools.refinery.language.model.problem.RuleDefinition;
20import tools.refinery.language.model.problem.Statement; 19import tools.refinery.language.model.problem.Statement;
20import tools.refinery.language.utils.BuiltinSymbols;
21import tools.refinery.language.utils.ProblemDesugarer;
21 22
22public record WrappedProblem(Problem problem) { 23public record WrappedProblem(Problem problem) {
23 public Problem get() { 24 public Problem get() {
@@ -30,11 +31,15 @@ public record WrappedProblem(Problem problem) {
30 } 31 }
31 32
32 public WrappedProblem builtin() { 33 public WrappedProblem builtin() {
33 return new WrappedProblem(ProblemUtil.getBuiltInLibrary(problem).get()); 34 return new WrappedProblem(new ProblemDesugarer().getBuiltinProblem(problem).orElseThrow());
35 }
36
37 public BuiltinSymbols builtinSymbols() {
38 return new ProblemDesugarer().getBuiltinSymbols(problem).orElseThrow();
34 } 39 }
35 40
36 public List<String> nodeNames() { 41 public List<String> nodeNames() {
37 return problem.getNodes().stream().map(node -> node.getName()).toList(); 42 return problem.getNodes().stream().map(Node::getName).toList();
38 } 43 }
39 44
40 public WrappedPredicateDefinition pred(String name) { 45 public WrappedPredicateDefinition pred(String name) {
@@ -80,6 +85,6 @@ public record WrappedProblem(Problem problem) {
80 } 85 }
81 86
82 private <T extends Statement> T nthStatementOfType(Class<? extends T> type, int n) { 87 private <T extends Statement> T nthStatementOfType(Class<? extends T> type, int n) {
83 return statementsOfType(type).skip(n).findFirst().get(); 88 return statementsOfType(type).skip(n).findFirst().orElseThrow();
84 } 89 }
85} 90}