JavaTXCompilerInJavaTX/test/unify/UnifyTest.java

54 lines
1.8 KiB
Java
Raw Normal View History

2015-11-09 13:39:26 +00:00
package unify;
2015-11-23 00:03:01 +00:00
import java.util.HashSet;
import java.util.Set;
import org.junit.Test;
import de.dhbwstuttgart.typeinference.unify.interfaces.IFiniteClosure;
2015-11-09 13:39:26 +00:00
import de.dhbwstuttgart.typeinference.unifynew.Unify;
2015-11-23 00:03:01 +00:00
import de.dhbwstuttgart.typinference.unify.model.MPair;
import de.dhbwstuttgart.typinference.unify.model.MPair.PairOperator;
2015-11-09 13:39:26 +00:00
public class UnifyTest extends Unify {
2015-11-23 00:03:01 +00:00
@Test
public void unifyTest() {
TypeFactory tf = new TypeFactory();
FiniteClosureBuilder fcb = new FiniteClosureBuilder();
Set<MPair> eq = new HashSet<MPair>();
2015-12-26 15:22:35 +00:00
//fcb.add(tf.getSimpleType("Number"), tf.getSimpleType("Object"));
2015-11-23 00:03:01 +00:00
fcb.add(tf.getSimpleType("Integer"), tf.getSimpleType("Number"));
fcb.add(tf.getSimpleType("Double"), tf.getSimpleType("Number"));
IFiniteClosure fc = fcb.getCollectionExample();
// Vector<Integer> <. Vector<A>
2015-11-27 18:52:59 +00:00
// Vector<Integer <. Vector<C>
2015-12-26 15:22:35 +00:00
// A <. Integer
2015-11-23 00:03:01 +00:00
// Double <. B
// B <. Object
eq.add(new MPair(tf.getSimpleType("Vector", tf.getSimpleType("Integer")), tf.getSimpleType("Vector", "A"), PairOperator.SMALLERDOT));
2015-11-27 18:52:59 +00:00
eq.add(new MPair(tf.getSimpleType("Vector", tf.getSimpleType("Integer")), tf.getSimpleType("Vector", "C"), PairOperator.SMALLERDOT));
2015-12-26 15:22:35 +00:00
eq.add(new MPair(tf.getPlaceholderType("A"), tf.getSimpleType("Integer"), PairOperator.SMALLERDOT));
2015-11-27 18:52:59 +00:00
//eq.add(new MPair(tf.getPlaceholderType("A"), tf.getPlaceholderType("C"), PairOperator.SMALLERDOT));
2015-11-23 00:03:01 +00:00
eq.add(new MPair(tf.getSimpleType("Double"), tf.getPlaceholderType("B"), PairOperator.SMALLERDOT));
2015-12-26 15:22:35 +00:00
//eq.add(new MPair(tf.getPlaceholderType("B"), tf.getSimpleType("Object"), PairOperator.EQUALSDOT));
2015-11-23 00:03:01 +00:00
2015-12-26 17:49:11 +00:00
System.out.println(this.unify(eq, fc));
2015-11-23 00:03:01 +00:00
}
@Test
public void applyTypeUnificationRulesTest() {
}
@Test
public void calculatePairSetsTest() {
}
2015-11-09 13:39:26 +00:00
}