From 19c9f648a89b090f2a4b824c3af2756ead10d8c2 Mon Sep 17 00:00:00 2001 From: Till Schnell Date: Sat, 10 Apr 2021 11:19:15 +0200 Subject: [PATCH] Add Testclass for fields --- .../TestInferWildcardsFields.java | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 src/test/java/inferWildcards/TestInferWildcardsFields.java diff --git a/src/test/java/inferWildcards/TestInferWildcardsFields.java b/src/test/java/inferWildcards/TestInferWildcardsFields.java new file mode 100644 index 00000000..1c395566 --- /dev/null +++ b/src/test/java/inferWildcards/TestInferWildcardsFields.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 TestInferWildcardsFields +{ + + private String resourcePath; + + @Before + public void setup () { + resourcePath = System.getProperty("user.dir") + + "/src/test/resources/inferWildcards/TestClassWildcardsFields.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 4", 4, 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); + } +}