forked from JavaTX/JavaCompilerCore
49 lines
1.5 KiB
Java
49 lines
1.5 KiB
Java
package plugindevelopment;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.Vector;
|
|
|
|
import junit.framework.TestCase;
|
|
|
|
import org.junit.Test;
|
|
|
|
import de.dhbwstuttgart.core.MyCompiler;
|
|
import de.dhbwstuttgart.core.MyCompilerAPI;
|
|
import de.dhbwstuttgart.parser.JavaParser.yyException;
|
|
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
|
|
import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet;
|
|
|
|
public class TypeInsertSetEqualTest {
|
|
|
|
|
|
private static final String TEST_FILE = "TypeInsertSetEqualTest.jav";
|
|
|
|
@Test
|
|
public void run(){
|
|
String inferedSource = "";
|
|
MyCompilerAPI compiler = MyCompiler.getAPI();
|
|
try {
|
|
compiler.parse(new File(TypeInsertTester.rootDirectory + TEST_FILE));
|
|
Vector<TypeinferenceResultSet> results = compiler.typeReconstruction();
|
|
//TestCase.assertTrue("Es darf nicht mehr als eine Lösungsmöglichkeit geben und nicht "+results.size(), results.size()==1);
|
|
Vector<TypeInsertSet> insertSets = new Vector<TypeInsertSet>();
|
|
for(TypeinferenceResultSet result : results){
|
|
TypeInsertSet point = result.getTypeInsertionPoints();
|
|
if(!insertSets.contains(point))insertSets.add(point);
|
|
//TestCase.assertTrue("Es muss mindestens ein TypeInsertSet vorhanden sein", points.size()>0);
|
|
|
|
}
|
|
if(insertSets.size()!=1){
|
|
TestCase.fail("Es darf nur ein TypeInsertSet geben und nicht "+insertSets.size());
|
|
}
|
|
|
|
} catch (IOException | yyException e) {
|
|
e.printStackTrace();
|
|
TestCase.fail();
|
|
}
|
|
|
|
}
|
|
|
|
}
|