JavaPatternMatching/test/unify/GenerateFiniteClosure.java

52 lines
1.6 KiB
Java
Raw Normal View History

2016-03-17 15:54:43 +00:00
package unify;
import static org.junit.Assert.*;
2016-03-22 12:17:56 +00:00
import java.util.Set;
2016-03-17 15:54:43 +00:00
import org.junit.Test;
import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory;
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
import de.dhbwstuttgart.typeinference.unify.model.FiniteClosure;
2016-03-22 12:17:56 +00:00
import de.dhbwstuttgart.typeinference.unify.model.UnifyType;
2016-03-17 15:54:43 +00:00
2016-03-22 14:13:51 +00:00
public class GenerateFiniteClosure{
2016-03-17 15:54:43 +00:00
private TypeAssumptions generateAssumptionsFromImport(String importClass){
SourceFile sf = new SourceFile();
ImportDeclarations imports = new ImportDeclarations();
imports.add(new UsedId(importClass,0));
TypeAssumptions ass = sf.makeBasicAssumptionsFromJRE(imports, true);
return ass;
}
@Test
public void generateTypeAssumptions(){
Menge<String> imports = new Menge<>();
imports.add("java.util.Vector");
imports.add("java.lang.Boolean");
imports.add("java.util.ArrayList");
for(String importClass : imports){
TypeAssumptions ass = generateAssumptionsFromImport(importClass);
assertTrue(ass.getClassAssumptionFor(new RefType(importClass,null,0))!=null);
}
}
@Test
public void test() {
String importClass = "java.util.Vector";
TypeAssumptions ass = generateAssumptionsFromImport(importClass);
FiniteClosure fc = UnifyTypeFactory.generateFC(ass);
2016-03-22 14:13:51 +00:00
Set<UnifyType> test = fc.getAllTypesByName(importClass);
2016-03-22 12:17:56 +00:00
assertTrue(test.size()>0);
2016-03-17 15:54:43 +00:00
}
}