aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java
diff options
context:
space:
mode:
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.java80
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)