package net.sf.eclipsefp.haskell.core.internal.project; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.Platform; public class ProjectCreationOperation_PDETest extends ProjectCreationOperationPDETestCase { private static final String TMP_DIR = System.getProperty("java.io.tmpdir"); public void testCreateProject() throws InvocationTargetException, InterruptedException, CoreException { IProject prj = getWorkspaceRoot().getProject(PROJECT_NAME); assertFalse("Project already exists in the workspace", prj.exists()); runOperation(); prj = getWorkspaceRoot().getProject(PROJECT_NAME); assertValid(prj); } public void testPlatformDefaultLocation() throws InvocationTargetException, InterruptedException, IOException { getOperation().setProjectLocation(Platform.getLocation().toString()); runOperation(); IProject prj = getWorkspaceRoot().getProject(PROJECT_NAME); assertValid(prj); assertSameLocation(defaultLocation(), prj.getLocation().toString()); } public void testCustomLocation() throws InvocationTargetException, InterruptedException, IOException { final String customLocation = TMP_DIR + '/' + PROJECT_NAME; getOperation().setProjectLocation(customLocation); runOperation(); IProject prj = getWorkspaceRoot().getProject(PROJECT_NAME); assertValid(prj); assertSameLocation(customLocation, prj.getLocation().toString()); } public void testResortToDefaultLocationWhenNotInformed() throws InvocationTargetException, InterruptedException, IOException { runOperation(); IProject prj = getWorkspaceRoot().getProject(PROJECT_NAME); assertSameLocation(defaultLocation(), prj.getLocation().toString()); } }