package unify; import static org.junit.Assert.*; import java.util.Set; 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; import de.dhbwstuttgart.typeinference.unify.model.UnifyType; public class GenerateFiniteClosure { 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 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); Set test = fc.getAllTypes(importClass); assertTrue(test.size()>0); } }