]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/unit/TestSubSolver.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / unit / TestSubSolver.java
1 package org.simantics.scl.compiler.tests.unit;
2
3 import java.util.ArrayList;
4
5 import org.junit.Assert;
6 import org.junit.Test;
7 import org.simantics.scl.compiler.errors.ErrorLog;
8 import org.simantics.scl.compiler.internal.elaboration.subsumption.SubSolver;
9 import org.simantics.scl.compiler.internal.elaboration.subsumption.Subsumption;
10 import org.simantics.scl.compiler.types.TMetaVar;
11 import org.simantics.scl.compiler.types.Type;
12 import org.simantics.scl.compiler.types.Types;
13 import org.simantics.scl.compiler.types.kinds.Kinds;
14 import org.simantics.scl.compiler.types.util.Polarity;
15
16
17 public class TestSubSolver {
18
19     @Test
20     public void testBipolarBounded() {
21         ErrorLog errorLog = new ErrorLog();
22         ArrayList<Subsumption> subsumptions = new ArrayList<Subsumption>();
23         ArrayList<Type> potentialSingletonEffects = new ArrayList<Type>();
24         
25         TMetaVar in = Types.metaVar(Kinds.EFFECT);
26         TMetaVar out = Types.metaVar(Kinds.EFFECT);
27         in.addPolarity(Polarity.NEGATIVE);
28         out.addPolarity(Polarity.POSITIVE);
29         subsumptions.add(new Subsumption(0, Types.READ_GRAPH, out));
30         subsumptions.add(new Subsumption(0, in, out));
31         
32         SubSolver solver = new SubSolver(errorLog, subsumptions, potentialSingletonEffects, 0);
33         solver.solve();
34         Assert.assertEquals("", errorLog.getErrorsAsString());
35     }
36     
37 }