aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java')
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java21
1 files changed, 14 insertions, 7 deletions
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 101a5362..c6da896c 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
@@ -5,7 +5,9 @@
5 */ 5 */
6package tools.refinery.store.dse; 6package tools.refinery.store.dse;
7 7
8import org.junit.jupiter.api.Disabled;
8import org.junit.jupiter.api.Test; 9import org.junit.jupiter.api.Test;
10import tools.refinery.store.dse.objectives.AlwaysSatisfiedRandomHardObjective;
9import tools.refinery.store.model.ModelStore; 11import tools.refinery.store.model.ModelStore;
10import tools.refinery.store.query.ModelQueryAdapter; 12import tools.refinery.store.query.ModelQueryAdapter;
11import tools.refinery.store.query.dnf.Query; 13import tools.refinery.store.query.dnf.Query;
@@ -20,7 +22,7 @@ import tools.refinery.store.tuple.Tuple;
20import tools.refinery.visualization.ModelVisualizerAdapter; 22import tools.refinery.visualization.ModelVisualizerAdapter;
21import tools.refinery.visualization.internal.FileFormat; 23import tools.refinery.visualization.internal.FileFormat;
22 24
23public class DebugTest { 25class DebugTest {
24 private static final Symbol<Boolean> classModel = Symbol.of("ClassModel", 1); 26 private static final Symbol<Boolean> classModel = Symbol.of("ClassModel", 1);
25 private static final Symbol<Boolean> classElement = Symbol.of("ClassElement", 1); 27 private static final Symbol<Boolean> classElement = Symbol.of("ClassElement", 1);
26 private static final Symbol<Boolean> feature = Symbol.of("Feature", 1); 28 private static final Symbol<Boolean> feature = Symbol.of("Feature", 1);
@@ -41,6 +43,7 @@ public class DebugTest {
41 43
42 44
43 @Test 45 @Test
46 @Disabled("This test is only for debugging purposes")
44 void BFSTest() { 47 void BFSTest() {
45 var createClassPrecondition = Query.of("CreateClassPrecondition", 48 var createClassPrecondition = Query.of("CreateClassPrecondition",
46 (builder, model) -> builder.clause( 49 (builder, model) -> builder.clause(
@@ -90,11 +93,18 @@ public class DebugTest {
90 .symbols(classModel, classElement, feature, isEncapsulatedBy, encapsulates, classes, features) 93 .symbols(classModel, classElement, feature, isEncapsulatedBy, encapsulates, classes, features)
91 .with(ViatraModelQueryAdapter.builder() 94 .with(ViatraModelQueryAdapter.builder()
92 .queries(createClassPrecondition, createFeaturePrecondition)) 95 .queries(createClassPrecondition, createFeaturePrecondition))
93 .with(ModelVisualizerAdapter.builder()) 96 .with(ModelVisualizerAdapter.builder()
97 .withOutputpath("test_output")
98 .withFormat(FileFormat.DOT)
99 .withFormat(FileFormat.SVG)
100 .saveStates()
101 .saveDesignSpace()
102 )
94 .with(DesignSpaceExplorationAdapter.builder() 103 .with(DesignSpaceExplorationAdapter.builder()
95 .transformations(createClassRule, createFeatureRule) 104 .transformations(createClassRule, createFeatureRule)
96 .strategy(new DepthFirstStrategy(4).continueIfHardObjectivesFulfilled() 105 .objectives(new AlwaysSatisfiedRandomHardObjective())
97// .strategy(new BestFirstStrategy(4).continueIfHardObjectivesFulfilled() 106 .strategy(new DepthFirstStrategy().withDepthLimit(4).continueIfHardObjectivesFulfilled()
107// .strategy(new BestFirstStrategy().withDepthLimit(4).continueIfHardObjectivesFulfilled()
98// .goOnOnlyIfFitnessIsBetter() 108// .goOnOnlyIfFitnessIsBetter()
99 )) 109 ))
100 .build(); 110 .build();
@@ -113,10 +123,7 @@ public class DebugTest {
113 123
114 124
115 var states = dseAdapter.explore(); 125 var states = dseAdapter.explore();
116 var visualizer = model.getAdapter(ModelVisualizerAdapter.class);
117 visualizer.renderDesignSpace("test_output", FileFormat.SVG);
118 System.out.println("states size: " + states.size()); 126 System.out.println("states size: " + states.size());
119 System.out.println("states: " + states);
120 127
121 } 128 }
122} 129}