From 565de1cb116e5e4f116544aaa035be58336656ec Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 23 Apr 2023 23:39:39 +0200 Subject: refactor: query terms * Separate different operators into different classes to make it easier to add functionality (e.g., simplification) later. * Add UpperCardinality terms. * Move UpperCardinality aggregator and tests into refinery-store-query. --- ...ardinalitySumAggregationOperatorStreamTest.java | 56 ------------- ...UpperCardinalitySumAggregationOperatorTest.java | 92 ---------------------- 2 files changed, 148 deletions(-) delete mode 100644 subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorStreamTest.java delete mode 100644 subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorTest.java (limited to 'subprojects/store-query-viatra/src/test') diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorStreamTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorStreamTest.java deleted file mode 100644 index 53d03cbd..00000000 --- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorStreamTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors - * - * SPDX-License-Identifier: EPL-2.0 - */ -package tools.refinery.store.query.viatra.internal.cardinality; - -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; -import tools.refinery.store.representation.cardinality.UpperCardinalities; -import tools.refinery.store.representation.cardinality.UpperCardinality; - -import java.util.List; -import java.util.stream.Stream; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -class UpperCardinalitySumAggregationOperatorStreamTest { - @ParameterizedTest - @MethodSource - void testStream(List list, UpperCardinality expected) { - var result = UpperCardinalitySumAggregationOperator.INSTANCE.aggregateStream(list.stream()); - assertThat(result, equalTo(expected)); - } - - static Stream testStream() { - return Stream.of( - Arguments.of(List.of(), UpperCardinalities.ZERO), - Arguments.of(List.of(UpperCardinality.of(3)), UpperCardinality.of(3)), - Arguments.of( - List.of( - UpperCardinality.of(2), - UpperCardinality.of(3) - ), - UpperCardinality.of(5) - ), - Arguments.of(List.of(UpperCardinalities.UNBOUNDED), UpperCardinalities.UNBOUNDED), - Arguments.of( - List.of( - UpperCardinalities.UNBOUNDED, - UpperCardinalities.UNBOUNDED - ), - UpperCardinalities.UNBOUNDED - ), - Arguments.of( - List.of( - UpperCardinalities.UNBOUNDED, - UpperCardinality.of(3) - ), - UpperCardinalities.UNBOUNDED - ) - ); - } -} diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorTest.java deleted file mode 100644 index 677eeeac..00000000 --- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/internal/cardinality/UpperCardinalitySumAggregationOperatorTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors - * - * SPDX-License-Identifier: EPL-2.0 - */ -package tools.refinery.store.query.viatra.internal.cardinality; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import tools.refinery.store.representation.cardinality.UpperCardinalities; -import tools.refinery.store.representation.cardinality.UpperCardinality; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -class UpperCardinalitySumAggregationOperatorTest { - private UpperCardinalitySumAggregationOperator.Accumulator accumulator; - - @BeforeEach - void beforeEach() { - accumulator = UpperCardinalitySumAggregationOperator.INSTANCE.createNeutral(); - } - - @Test - void emptyAggregationTest() { - assertResult(UpperCardinality.of(0)); - } - - @Test - void singleBoundedTest() { - insert(UpperCardinality.of(3)); - assertResult(UpperCardinality.of(3)); - } - - @Test - void multipleBoundedTest() { - insert(UpperCardinality.of(2)); - insert(UpperCardinality.of(3)); - assertResult(UpperCardinality.of(5)); - } - - @Test - void singleUnboundedTest() { - insert(UpperCardinalities.UNBOUNDED); - assertResult(UpperCardinalities.UNBOUNDED); - } - - @Test - void multipleUnboundedTest() { - insert(UpperCardinalities.UNBOUNDED); - insert(UpperCardinalities.UNBOUNDED); - assertResult(UpperCardinalities.UNBOUNDED); - } - - @Test - void removeBoundedTest() { - insert(UpperCardinality.of(2)); - insert(UpperCardinality.of(3)); - remove(UpperCardinality.of(2)); - assertResult(UpperCardinality.of(3)); - } - - @Test - void removeAllUnboundedTest() { - insert(UpperCardinalities.UNBOUNDED); - insert(UpperCardinality.of(3)); - remove(UpperCardinalities.UNBOUNDED); - assertResult(UpperCardinality.of(3)); - } - - @Test - void removeSomeUnboundedTest() { - insert(UpperCardinalities.UNBOUNDED); - insert(UpperCardinalities.UNBOUNDED); - insert(UpperCardinality.of(3)); - remove(UpperCardinalities.UNBOUNDED); - assertResult(UpperCardinalities.UNBOUNDED); - } - - private void insert(UpperCardinality value) { - accumulator = UpperCardinalitySumAggregationOperator.INSTANCE.update(accumulator, value, true); - } - - private void remove(UpperCardinality value) { - accumulator = UpperCardinalitySumAggregationOperator.INSTANCE.update(accumulator, value, false); - } - - private void assertResult(UpperCardinality expected) { - var result = UpperCardinalitySumAggregationOperator.INSTANCE.getAggregate(accumulator); - assertThat(result, equalTo(expected)); - } -} -- cgit v1.2.3-70-g09d2