package mmrnmhrm.tests; import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue; import melnorme.lang.ide.core.tests.LangCoreTestResources; import melnorme.lang.ide.core.utils.EclipseUtils; import melnorme.utilbox.core.ExceptionAdapter; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.runtime.CoreException; /** * Builds a simple project with D sources, but that is not a Dee Project */ public abstract class SampleNonDeeProject { public static final String SAMPLEPROJNAME = "SampleNonDeeProj"; public static final String TEST_OUT_SRC = ITestResourcesConstants.TR_SRC_OUTSIDE_MODEL; public static IProject project = null; public static IFile sampleOutOfModelFile; public static IFile sampleNonExistantFile; public static void createAndSetupNonDeeProject() { try { createAndFillSampleProj(); } catch (Exception e) { throw ExceptionAdapter.unchecked(e); } } public static IProject createAndFillSampleProj() throws CoreException { IWorkspaceRoot workspaceRoot = EclipseUtils.getWorkspaceRoot(); project = workspaceRoot.getProject(SAMPLEPROJNAME); if(project.exists()) { project.delete(true, null); } project.create(null); project.open(null); // Watch out when changing these values, tests may depend on these paths LangCoreTestResources.createFolderFromCoreTestsResource( ITestResourcesConstants.TR_SAMPLE_SRC1, project.getFolder(TEST_OUT_SRC)); return project; } public static void commonTearDown() throws Exception { IWorkspaceRoot workspaceRoot = EclipseUtils.getWorkspaceRoot(); IProject project = workspaceRoot.getProject(SAMPLEPROJNAME); project.delete(true, null); } /** Gets a IFile from the sample project. */ public static IFile getFile(String filepath) { IFile file = project.getProject().getFile(filepath); assertTrue(file.exists(), "Test file not found."); return file; } }