blob: 51ebe0139ce3593cc5dcc5dc8b27d2ba52e7a800 [file] [log] [blame]
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
package org.eclipse.jdt.ui.tests.core;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.testplugin.JavaProjectHelper;
public class TypeHierarchyTest extends TestCase {
private static final Class THIS= TypeHierarchyTest.class;
private IJavaProject fJavaProject1;
private IJavaProject fJavaProject2;
public TypeHierarchyTest(String name) {
super(name);
}
public static Test suite() {
return new TestSuite(THIS);
}
protected void setUp() throws Exception {
fJavaProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
fJavaProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");
}
protected void tearDown () throws Exception {
JavaProjectHelper.delete(fJavaProject1);
JavaProjectHelper.delete(fJavaProject2);
}
public void test1() throws Exception {
IPackageFragmentRoot jdk= JavaProjectHelper.addRTJar(fJavaProject1);
assertTrue("jdk not found", jdk != null);
IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
cu1.createType("public class A {\n}\n", null, true, null);
JavaProjectHelper.addRTJar(fJavaProject2);
JavaProjectHelper.addRequiredProject(fJavaProject2, fJavaProject1);
IPackageFragmentRoot root2= JavaProjectHelper.addSourceContainer(fJavaProject2, "src");
IPackageFragment pack2= root2.createPackageFragment("pack2", true, null);
ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
IType type2= cu2.createType("public class B extends pack1.A {\n}\n", null, true, null);
ITypeHierarchy hierarchy= type2.newSupertypeHierarchy(null);
IType[] allTypes= hierarchy.getAllTypes();
assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
IType type= fJavaProject2.findType("pack1.A");
assertTrue("Type not found", type != null);
}
}