aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-dse/src/test/java
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <semerath@mit.bme.hu>2023-09-05 07:59:17 +0200
committerLibravatar OszkarSemerath <semerath@mit.bme.hu>2023-09-05 07:59:17 +0200
commit9de7ead9602c2e51448c3b6710d13eb5dd2f3b1f (patch)
tree91d5097d5e4e5242b96299081c048cd98d47a5f7 /subprojects/store-dse/src/test/java
parentMerge pull request #37 from nagilooh/design-space-exploration (diff)
downloadrefinery-9de7ead9602c2e51448c3b6710d13eb5dd2f3b1f.tar.gz
refinery-9de7ead9602c2e51448c3b6710d13eb5dd2f3b1f.tar.zst
refinery-9de7ead9602c2e51448c3b6710d13eb5dd2f3b1f.zip
restructured DSE framework, failing build
Diffstat (limited to 'subprojects/store-dse/src/test/java')
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java6
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java4
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java3
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java3
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/transition/statespace/internal/ActivationUnitTest.java72
5 files changed, 81 insertions, 7 deletions
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java
index 225de32e..b0b416e1 100644
--- a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java
@@ -8,13 +8,13 @@ package tools.refinery.store.dse;
8import org.junit.jupiter.api.Disabled; 8import org.junit.jupiter.api.Disabled;
9import org.junit.jupiter.api.Test; 9import org.junit.jupiter.api.Test;
10import tools.refinery.store.dse.objectives.AlwaysSatisfiedRandomHardObjective; 10import tools.refinery.store.dse.objectives.AlwaysSatisfiedRandomHardObjective;
11import tools.refinery.store.dse.transition.DesignSpaceExplorationAdapter;
11import tools.refinery.store.model.ModelStore; 12import tools.refinery.store.model.ModelStore;
12import tools.refinery.store.query.ModelQueryAdapter; 13import tools.refinery.store.query.ModelQueryAdapter;
13import tools.refinery.store.query.dnf.Query; 14import tools.refinery.store.query.dnf.Query;
14import tools.refinery.store.query.dnf.RelationalQuery; 15import tools.refinery.store.query.dnf.RelationalQuery;
15import tools.refinery.store.dse.internal.TransformationRule; 16import tools.refinery.store.dse.transition.TransformationRule;
16import tools.refinery.store.dse.strategy.BestFirstStrategy; 17import tools.refinery.store.dse.strategy.BestFirstStrategy;
17import tools.refinery.store.dse.strategy.DepthFirstStrategy;
18import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 18import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
19import tools.refinery.store.query.view.AnySymbolView; 19import tools.refinery.store.query.view.AnySymbolView;
20import tools.refinery.store.query.view.KeyOnlyView; 20import tools.refinery.store.query.view.KeyOnlyView;
@@ -282,5 +282,5 @@ class CRAExamplesTest {
282 var states = dseAdapter.explore(); 282 var states = dseAdapter.explore();
283 System.out.println("states size: " + states.size()); 283 System.out.println("states size: " + states.size());
284 } 284 }
285 285*/
286} 286}
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
index c6da896c..461d9353 100644
--- a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
@@ -8,11 +8,11 @@ package tools.refinery.store.dse;
8import org.junit.jupiter.api.Disabled; 8import org.junit.jupiter.api.Disabled;
9import org.junit.jupiter.api.Test; 9import org.junit.jupiter.api.Test;
10import tools.refinery.store.dse.objectives.AlwaysSatisfiedRandomHardObjective; 10import tools.refinery.store.dse.objectives.AlwaysSatisfiedRandomHardObjective;
11import tools.refinery.store.dse.transition.DesignSpaceExplorationAdapter;
11import tools.refinery.store.model.ModelStore; 12import tools.refinery.store.model.ModelStore;
12import tools.refinery.store.query.ModelQueryAdapter; 13import tools.refinery.store.query.ModelQueryAdapter;
13import tools.refinery.store.query.dnf.Query; 14import tools.refinery.store.query.dnf.Query;
14import tools.refinery.store.dse.internal.TransformationRule; 15import tools.refinery.store.dse.transition.TransformationRule;
15import tools.refinery.store.dse.strategy.BestFirstStrategy;
16import tools.refinery.store.dse.strategy.DepthFirstStrategy; 16import tools.refinery.store.dse.strategy.DepthFirstStrategy;
17import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 17import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
18import tools.refinery.store.query.view.AnySymbolView; 18import tools.refinery.store.query.view.AnySymbolView;
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java
index 91e33f4a..083f7ec3 100644
--- a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java
@@ -6,10 +6,11 @@
6package tools.refinery.store.dse; 6package tools.refinery.store.dse;
7 7
8import org.junit.jupiter.api.Test; 8import org.junit.jupiter.api.Test;
9import tools.refinery.store.dse.transition.DesignSpaceExplorationAdapter;
9import tools.refinery.store.model.ModelStore; 10import tools.refinery.store.model.ModelStore;
10import tools.refinery.store.query.ModelQueryAdapter; 11import tools.refinery.store.query.ModelQueryAdapter;
11import tools.refinery.store.query.dnf.Query; 12import tools.refinery.store.query.dnf.Query;
12import tools.refinery.store.dse.internal.TransformationRule; 13import tools.refinery.store.dse.transition.TransformationRule;
13import tools.refinery.store.dse.strategy.BestFirstStrategy; 14import tools.refinery.store.dse.strategy.BestFirstStrategy;
14import tools.refinery.store.dse.strategy.DepthFirstStrategy; 15import tools.refinery.store.dse.strategy.DepthFirstStrategy;
15import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 16import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java
index 5d24d712..1672b63a 100644
--- a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java
@@ -7,10 +7,11 @@ package tools.refinery.store.dse;
7 7
8import org.junit.jupiter.api.Test; 8import org.junit.jupiter.api.Test;
9import tools.refinery.store.dse.strategy.DepthFirstStrategy; 9import tools.refinery.store.dse.strategy.DepthFirstStrategy;
10import tools.refinery.store.dse.transition.DesignSpaceExplorationAdapter;
10import tools.refinery.store.model.ModelStore; 11import tools.refinery.store.model.ModelStore;
11import tools.refinery.store.query.ModelQueryAdapter; 12import tools.refinery.store.query.ModelQueryAdapter;
12import tools.refinery.store.query.dnf.Query; 13import tools.refinery.store.query.dnf.Query;
13import tools.refinery.store.dse.internal.TransformationRule; 14import tools.refinery.store.dse.transition.TransformationRule;
14import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 15import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
15import tools.refinery.store.query.view.AnySymbolView; 16import tools.refinery.store.query.view.AnySymbolView;
16import tools.refinery.store.query.view.KeyOnlyView; 17import tools.refinery.store.query.view.KeyOnlyView;
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/transition/statespace/internal/ActivationUnitTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/transition/statespace/internal/ActivationUnitTest.java
new file mode 100644
index 00000000..e7960a06
--- /dev/null
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/transition/statespace/internal/ActivationUnitTest.java
@@ -0,0 +1,72 @@
1/*
2 * SPDX-FileCopyrightText: 2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6package tools.refinery.store.dse.transition.statespace.internal;
7
8import org.junit.jupiter.api.Assertions;
9import org.junit.jupiter.params.ParameterizedTest;
10import org.junit.jupiter.params.provider.MethodSource;
11
12import java.util.stream.Stream;
13
14class ActivationUnitTest {
15 private final static int SMALL_SIZE = 5;
16
17 private static Stream<ActivationStoreEntry> entries() {
18 return Stream.of(
19 new ActivationStoreBitVectorEntry(SMALL_SIZE),
20 new ActivationStoreListEntry(SMALL_SIZE));
21 }
22
23 void addTest(ActivationStoreEntry entry, int elementsAdded) {
24 Assertions.assertEquals(elementsAdded,entry.getNumberOfVisitedActivations());
25 Assertions.assertEquals(SMALL_SIZE-elementsAdded,entry.getNumberOfUnvisitedActivations());
26 }
27
28 @ParameterizedTest
29 @MethodSource("entries")
30 void testDifferent(ActivationStoreEntry entry) {
31 int elementsAdded = 0;
32 addTest(entry,elementsAdded);
33 Assertions.assertEquals(2, entry.getAndAddActivationAfter(2));
34 addTest(entry,++elementsAdded);
35 Assertions.assertEquals(3,entry.getAndAddActivationAfter(3));
36 addTest(entry,++elementsAdded);
37 Assertions.assertEquals(1,entry.getAndAddActivationAfter(1));
38 addTest(entry,++elementsAdded);
39 Assertions.assertEquals(4,entry.getAndAddActivationAfter(4));
40 addTest(entry,++elementsAdded);
41 Assertions.assertEquals(0,entry.getAndAddActivationAfter(0));
42 addTest(entry,++elementsAdded);
43 }
44
45 @ParameterizedTest
46 @MethodSource("entries")
47 void testSame(ActivationStoreEntry entry) {
48 int elementsAdded = 0;
49 addTest(entry,elementsAdded);
50 entry.getAndAddActivationAfter(2);
51 addTest(entry,++elementsAdded);
52 entry.getAndAddActivationAfter(2);
53 addTest(entry,++elementsAdded);
54 entry.getAndAddActivationAfter(2);
55 addTest(entry,++elementsAdded);
56 entry.getAndAddActivationAfter(2);
57 addTest(entry,++elementsAdded);
58 entry.getAndAddActivationAfter(2);
59 addTest(entry,++elementsAdded);
60 }
61
62 @ParameterizedTest
63 @MethodSource("entries")
64 void testFilling(ActivationStoreEntry entry) {
65 int elementsAdded = 0;
66 while(elementsAdded < SMALL_SIZE) {
67 entry.getAndAddActivationAfter(2);
68 elementsAdded++;
69 }
70 Assertions.assertThrows(IllegalArgumentException.class,()-> entry.getAndAddActivationAfter(2));
71 }
72}