diff --git a/src/test/java/inferWildcards/TestInferWildcardsMapNested.java b/src/test/java/inferWildcards/TestInferWildcardsMapNested.java new file mode 100644 index 00000000..c772082c --- /dev/null +++ b/src/test/java/inferWildcards/TestInferWildcardsMapNested.java @@ -0,0 +1,91 @@ +package inferWildcards; + +import static org.junit.Assert.assertThat; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import org.hamcrest.CoreMatchers; +import org.junit.Before; +import org.junit.Test; + +import de.dhbwstuttgart.core.JavaTXCompiler; +import de.dhbwstuttgart.inferWildcards.ConstraintsGenerationUtils; +import de.dhbwstuttgart.inferWildcards.JavaTXCompilerWildcards; +import de.dhbwstuttgart.inferWildcards.TypePlaceholderReplaceUtils; +import de.dhbwstuttgart.syntaxtree.type.RefType; +import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; +import de.dhbwstuttgart.typeinference.constraints.ConstraintSet; +import de.dhbwstuttgart.typeinference.constraints.Pair; +import de.dhbwstuttgart.typeinference.result.ResultSet; + +public class TestInferWildcardsMapNested +{ + + private String resourcePath; + + @Before + public void setup () { + resourcePath = System.getProperty("user.dir") + + "/src/test/resources/inferWildcards/TestClassWildcardsMapNested.java"; + } + + private JavaTXCompiler getStandardCompiler () throws ClassNotFoundException, IOException { + File[] files1 = { new File(resourcePath) }; + return new JavaTXCompiler(files1); + } + + private JavaTXCompilerWildcards getWildcardsCompiler () throws ClassNotFoundException, IOException { + File[] files1 = { new File(resourcePath) }; + return new JavaTXCompilerWildcards(files1); + } + + private static Map generateTph (JavaTXCompiler javaTXCompiler) { + System.out.println("\nReplacements:"); + + return TypePlaceholderReplaceUtils.generateTypePlaceholder(javaTXCompiler); + } + + @Test + public void testGenerateTph () throws ClassNotFoundException, IOException { + System.out.println("\n--------- Test Generate TPH --------------\n"); + + JavaTXCompiler javaTXCompiler = getStandardCompiler(); + Map generateTph = generateTph(javaTXCompiler); + + System.out.println(generateTph); + + assertThat("Number of TPH is 9", 9, CoreMatchers.is(generateTph.size())); + } + + @Test + public void testGeneratedConstraints () throws ClassNotFoundException, IOException { + System.out.println("\n--------- Test Generate Constraints --------------\n"); + + JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler(); + Map tphMap = javaTXCompilerWildcards.getTphMap(); + ConstraintSet generateConstraints = ConstraintsGenerationUtils.generateConstraints(tphMap); + + System.out.println(generateConstraints); + } + + @Test + public void testCombinedConstraints () throws ClassNotFoundException, IOException { + System.out.println("\n--------- Test Combined Constraints --------------\n"); + + JavaTXCompilerWildcards javaTXCompilerWildcards = getWildcardsCompiler(); + ConstraintSet constraints = javaTXCompilerWildcards.getConstraints(); + + System.out.println(constraints); + } + + @Test + public void testTypeInference () throws ClassNotFoundException, IOException { + JavaTXCompilerWildcards wildcardsCompiler = getWildcardsCompiler(); + List typeInference = wildcardsCompiler.typeInference(); + + System.out.println(typeInference); + } +}