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