diff options
Diffstat (limited to 'subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java')
-rw-r--r-- | subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java | 80 |
1 files changed, 33 insertions, 47 deletions
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java index b21c254c..6aae2ebe 100644 --- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java | |||
@@ -34,7 +34,7 @@ class DiagonalQueryTest { | |||
34 | private static final AnySymbolView personView = new KeyOnlyView<>(person); | 34 | private static final AnySymbolView personView = new KeyOnlyView<>(person); |
35 | private static final AnySymbolView friendView = new KeyOnlyView<>(friend); | 35 | private static final AnySymbolView friendView = new KeyOnlyView<>(friend); |
36 | private static final AnySymbolView symbolView = new KeyOnlyView<>(symbol); | 36 | private static final AnySymbolView symbolView = new KeyOnlyView<>(symbol); |
37 | private static final AnySymbolView intSymbolView = new FunctionView<>(intSymbol); | 37 | private static final FunctionView<Integer> intSymbolView = new FunctionView<>(intSymbol); |
38 | 38 | ||
39 | @QueryEngineTest | 39 | @QueryEngineTest |
40 | void inputKeyNegationTest(QueryEvaluationHint hint) { | 40 | void inputKeyNegationTest(QueryEvaluationHint hint) { |
@@ -76,20 +76,15 @@ class DiagonalQueryTest { | |||
76 | 76 | ||
77 | @QueryEngineTest | 77 | @QueryEngineTest |
78 | void subQueryNegationTest(QueryEvaluationHint hint) { | 78 | void subQueryNegationTest(QueryEvaluationHint hint) { |
79 | var subQuery = Dnf.of("SubQuery", builder -> { | 79 | var subQuery = Query.of("SubQuery", (builder, p1, p2, p3, p4) -> builder |
80 | var p1 = builder.parameter("p1"); | 80 | .clause( |
81 | var p2 = builder.parameter("p2"); | 81 | personView.call(p1), |
82 | var p3 = builder.parameter("p3"); | 82 | symbolView.call(p1, p2, p3, p4) |
83 | var p4 = builder.parameter("p4"); | 83 | ) |
84 | builder.clause( | 84 | .clause( |
85 | personView.call(p1), | 85 | personView.call(p2), |
86 | symbolView.call(p1, p2, p3, p4) | 86 | symbolView.call(p1, p2, p3, p4) |
87 | ); | 87 | )); |
88 | builder.clause( | ||
89 | personView.call(p2), | ||
90 | symbolView.call(p1, p2, p3, p4) | ||
91 | ); | ||
92 | }); | ||
93 | var query = Query.of("Diagonal", (builder, p1) -> builder.clause(p2 -> List.of( | 88 | var query = Query.of("Diagonal", (builder, p1) -> builder.clause(p2 -> List.of( |
94 | personView.call(p1), | 89 | personView.call(p1), |
95 | not(subQuery.call(p1, p1, p2, p2)) | 90 | not(subQuery.call(p1, p1, p2, p2)) |
@@ -167,20 +162,14 @@ class DiagonalQueryTest { | |||
167 | 162 | ||
168 | @QueryEngineTest | 163 | @QueryEngineTest |
169 | void subQueryCountTest(QueryEvaluationHint hint) { | 164 | void subQueryCountTest(QueryEvaluationHint hint) { |
170 | var subQuery = Dnf.of("SubQuery", builder -> { | 165 | var subQuery = Query.of("SubQuery", (builder, p1, p2, p3, p4) -> builder.clause( |
171 | var p1 = builder.parameter("p1"); | 166 | personView.call(p1), |
172 | var p2 = builder.parameter("p2"); | 167 | symbolView.call(p1, p2, p3, p4) |
173 | var p3 = builder.parameter("p3"); | 168 | ) |
174 | var p4 = builder.parameter("p4"); | 169 | .clause( |
175 | builder.clause( | 170 | personView.call(p2), |
176 | personView.call(p1), | 171 | symbolView.call(p1, p2, p3, p4) |
177 | symbolView.call(p1, p2, p3, p4) | 172 | )); |
178 | ); | ||
179 | builder.clause( | ||
180 | personView.call(p2), | ||
181 | symbolView.call(p1, p2, p3, p4) | ||
182 | ); | ||
183 | }); | ||
184 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder.clause(p2 -> List.of( | 173 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder.clause(p2 -> List.of( |
185 | personView.call(p1), | 174 | personView.call(p1), |
186 | output.assign(subQuery.count(p1, p1, p2, p2)) | 175 | output.assign(subQuery.count(p1, p1, p2, p2)) |
@@ -220,10 +209,10 @@ class DiagonalQueryTest { | |||
220 | 209 | ||
221 | @QueryEngineTest | 210 | @QueryEngineTest |
222 | void inputKeyAggregationTest(QueryEvaluationHint hint) { | 211 | void inputKeyAggregationTest(QueryEvaluationHint hint) { |
223 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder.clause(Integer.class, | 212 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder |
224 | (p2, y) -> List.of( | 213 | .clause((p2) -> List.of( |
225 | personView.call(p1), | 214 | personView.call(p1), |
226 | output.assign(intSymbolView.aggregate(y, INT_SUM, p1, p1, p2, p2, y)) | 215 | output.assign(intSymbolView.aggregate(INT_SUM, p1, p1, p2, p2)) |
227 | ))); | 216 | ))); |
228 | 217 | ||
229 | var store = ModelStore.builder() | 218 | var store = ModelStore.builder() |
@@ -278,10 +267,10 @@ class DiagonalQueryTest { | |||
278 | y.assign(x) | 267 | y.assign(x) |
279 | ); | 268 | ); |
280 | }); | 269 | }); |
281 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder.clause( | 270 | var query = Query.of("Diagonal", Integer.class, (builder, p1, output) -> builder |
282 | Integer.class, Integer.class, (p2, y, z) -> List.of( | 271 | .clause(Integer.class, Integer.class, (p2, y, z) -> List.of( |
283 | personView.call(p1), | 272 | personView.call(p1), |
284 | output.assign(subQuery.aggregate(y, INT_SUM, p1, p1, p2, p2, y, z)) | 273 | output.assign(subQuery.aggregateBy(y, INT_SUM, p1, p1, p2, p2, y, z)) |
285 | ))); | 274 | ))); |
286 | 275 | ||
287 | var store = ModelStore.builder() | 276 | var store = ModelStore.builder() |
@@ -355,18 +344,15 @@ class DiagonalQueryTest { | |||
355 | 344 | ||
356 | @QueryEngineTest | 345 | @QueryEngineTest |
357 | void subQueryTransitiveTest(QueryEvaluationHint hint) { | 346 | void subQueryTransitiveTest(QueryEvaluationHint hint) { |
358 | var subQuery = Dnf.of("SubQuery", builder -> { | 347 | var subQuery = Query.of("SubQuery", (builder, p1, p2) -> builder |
359 | var p1 = builder.parameter("p1"); | 348 | .clause( |
360 | var p2 = builder.parameter("p2"); | 349 | personView.call(p1), |
361 | builder.clause( | 350 | friendView.call(p1, p2) |
362 | personView.call(p1), | 351 | ) |
363 | friendView.call(p1, p2) | 352 | .clause( |
364 | ); | 353 | personView.call(p2), |
365 | builder.clause( | 354 | friendView.call(p1, p2) |
366 | personView.call(p2), | 355 | )); |
367 | friendView.call(p1, p2) | ||
368 | ); | ||
369 | }); | ||
370 | var query = Query.of("Diagonal", (builder, p1) -> builder.clause( | 356 | var query = Query.of("Diagonal", (builder, p1) -> builder.clause( |
371 | personView.call(p1), | 357 | personView.call(p1), |
372 | subQuery.callTransitive(p1, p1) | 358 | subQuery.callTransitive(p1, p1) |