package astfactory; //import javafx.collections.ObservableList; import de.dhbwstuttgart.syntaxtree.ClassOrInterface; import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; import de.dhbwstuttgart.syntaxtree.type.GenericRefType; import org.junit.Test; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.Arrays; import java.util.HashMap; import static org.junit.Assert.*; public class ASTFactoryTest extends HashMap{ @Test public void test(){ System.out.println((this.getClass().getGenericSuperclass())); Type[] arguments = ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments(); System.out.println(Arrays.toString(arguments)); System.out.println(((TypeVariable)arguments[1]).getGenericDeclaration()); } public static class GenericFieldTest{ public G testField; } @Test public void genericFieldTest(){ ClassOrInterface test = ASTFactory.createClass(GenericFieldTest.class); assertTrue(test.getFieldDecl().get(0).getType() instanceof GenericRefType); } }