package org.simantics.scl.compiler.tests.unit; import java.util.ArrayList; import org.junit.Assert; import org.junit.Test; import org.simantics.scl.compiler.errors.ErrorLog; import org.simantics.scl.compiler.internal.elaboration.subsumption.SubSolver; import org.simantics.scl.compiler.internal.elaboration.subsumption.Subsumption; import org.simantics.scl.compiler.types.TMetaVar; import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.Types; import org.simantics.scl.compiler.types.kinds.Kinds; import org.simantics.scl.compiler.types.util.Polarity; public class TestSubSolver { @Test public void testBipolarBounded() { ErrorLog errorLog = new ErrorLog(); ArrayList subsumptions = new ArrayList(); ArrayList potentialSingletonEffects = new ArrayList(); TMetaVar in = Types.metaVar(Kinds.EFFECT); TMetaVar out = Types.metaVar(Kinds.EFFECT); in.addPolarity(Polarity.NEGATIVE); out.addPolarity(Polarity.POSITIVE); subsumptions.add(new Subsumption(0, Types.READ_GRAPH, out)); subsumptions.add(new Subsumption(0, in, out)); SubSolver solver = new SubSolver(errorLog, subsumptions, potentialSingletonEffects, 0); solver.solve(); Assert.assertEquals("", errorLog.getErrorsAsString()); } }