aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-semantics/src/test
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-12-06 23:52:07 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-12-08 21:48:48 +0100
commitd40ec70132ebb324873cb8c3868eb65309f46f8c (patch)
tree31c9ca6e5454f61868b4123574b723b33ecc704e /subprojects/language-semantics/src/test
parentchore: upgrade to Eclipse 2023-12 (diff)
downloadrefinery-d40ec70132ebb324873cb8c3868eb65309f46f8c.tar.gz
refinery-d40ec70132ebb324873cb8c3868eb65309f46f8c.tar.zst
refinery-d40ec70132ebb324873cb8c3868eb65309f46f8c.zip
feat: state-based store for cross references
Efficiently store cross references even if default ref(*, *): false. Uses propagation rules instead of view queries to reason about type constraints and multiplicity.
Diffstat (limited to 'subprojects/language-semantics/src/test')
-rw-r--r--subprojects/language-semantics/src/test/java/tools/refinery/language/semantics/internal/DecisionTreeTests.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/subprojects/language-semantics/src/test/java/tools/refinery/language/semantics/internal/DecisionTreeTests.java b/subprojects/language-semantics/src/test/java/tools/refinery/language/semantics/internal/DecisionTreeTests.java
index 2320de2c..61ce850f 100644
--- a/subprojects/language-semantics/src/test/java/tools/refinery/language/semantics/internal/DecisionTreeTests.java
+++ b/subprojects/language-semantics/src/test/java/tools/refinery/language/semantics/internal/DecisionTreeTests.java
@@ -276,6 +276,16 @@ class DecisionTreeTests {
276 assertThat(sut.getReducedValue(), is(TruthValue.TRUE)); 276 assertThat(sut.getReducedValue(), is(TruthValue.TRUE));
277 } 277 }
278 278
279 @Test
280 void overwriteWildcardAllTest() {
281 var first = new DecisionTree(2, TruthValue.UNKNOWN);
282 first.mergeValue(Tuple.of(-1, -1), TruthValue.FALSE);
283 var second = new DecisionTree(2, null);
284 second.mergeValue(Tuple.of(1, -1), TruthValue.TRUE);
285 first.overwriteValues(second);
286 assertThat(first.majorityValue(), is(TruthValue.FALSE));
287 }
288
279 private Map<Tuple, TruthValue> iterateAll(DecisionTree sut, TruthValue defaultValue, int nodeCount) { 289 private Map<Tuple, TruthValue> iterateAll(DecisionTree sut, TruthValue defaultValue, int nodeCount) {
280 var cursor = sut.getCursor(defaultValue, nodeCount); 290 var cursor = sut.getCursor(defaultValue, nodeCount);
281 var map = new LinkedHashMap<Tuple, TruthValue>(); 291 var map = new LinkedHashMap<Tuple, TruthValue>();