diff options
author | 2023-07-10 21:42:52 +0200 | |
---|---|---|
committer | 2023-07-15 14:37:26 +0200 | |
commit | 60e90db11d1a6898aa8b2e1d82ea647a7898f9f0 (patch) | |
tree | f0248c9b1148054357a74795bb8e9b20405fe8c9 /subprojects/store-query/src/test | |
parent | feat: DNF rewriting (diff) | |
download | refinery-60e90db11d1a6898aa8b2e1d82ea647a7898f9f0.tar.gz refinery-60e90db11d1a6898aa8b2e1d82ea647a7898f9f0.tar.zst refinery-60e90db11d1a6898aa8b2e1d82ea647a7898f9f0.zip |
feat: query rewriters for Viatra
Diffstat (limited to 'subprojects/store-query/src/test')
-rw-r--r-- | subprojects/store-query/src/test/java/tools/refinery/store/query/rewriter/InputParameterResolverTest.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/rewriter/InputParameterResolverTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/rewriter/InputParameterResolverTest.java index ddb2a069..ef0077e4 100644 --- a/subprojects/store-query/src/test/java/tools/refinery/store/query/rewriter/InputParameterResolverTest.java +++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/rewriter/InputParameterResolverTest.java | |||
@@ -18,6 +18,7 @@ import tools.refinery.store.representation.Symbol; | |||
18 | import java.util.List; | 18 | import java.util.List; |
19 | 19 | ||
20 | import static org.hamcrest.MatcherAssert.assertThat; | 20 | import static org.hamcrest.MatcherAssert.assertThat; |
21 | import static org.hamcrest.Matchers.is; | ||
21 | import static tools.refinery.store.query.literal.Literals.not; | 22 | import static tools.refinery.store.query.literal.Literals.not; |
22 | import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo; | 23 | import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo; |
23 | 24 | ||
@@ -205,4 +206,23 @@ class InputParameterResolverTest { | |||
205 | 206 | ||
206 | assertThat(actual.getDnf(), structurallyEqualTo(expected.getDnf())); | 207 | assertThat(actual.getDnf(), structurallyEqualTo(expected.getDnf())); |
207 | } | 208 | } |
209 | |||
210 | @Test | ||
211 | void identityWhenNoWorkToDoTest() { | ||
212 | var dnf = Dnf.of("SubQuery", builder -> { | ||
213 | var x = builder.parameter("x", ParameterDirection.OUT); | ||
214 | builder.clause( | ||
215 | personView.call(x), | ||
216 | not(friendView.call(x, Variable.of())) | ||
217 | ); | ||
218 | }); | ||
219 | var query = Query.of("Actual", (builder, p1) -> builder.clause( | ||
220 | personView.call(p1), | ||
221 | not(dnf.call(p1)) | ||
222 | )); | ||
223 | |||
224 | var actual = sut.rewrite(query); | ||
225 | |||
226 | assertThat(actual, is(query)); | ||
227 | } | ||
208 | } | 228 | } |