Package org.digitalsoul.loom.core

Source Code of org.digitalsoul.loom.core.ProjectBasedTest

package org.digitalsoul.loom.core;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;


/**
* Class ProjectBasedTest
*/
public class ProjectBasedTest extends BaseTester {

    protected IFolder javaFolder;
    protected IFolder templateFolder;
    protected IFile javaFile;
    protected IJavaProject javaProject;
    protected ICompilationUnit javaCompilationUnit;
    protected ProjectBuilder builder;
    private ICompilationUnit kawaCompilationUnit;
    private IFile kawaFile;

    /**
     *
     */
    @Test
    public void testJavaFileCorrectEnvironment() {
        Assert.assertEquals("org.loom", javaCompilationUnit.getParent().getElementName());
        Assert.assertEquals("javaxx", javaCompilationUnit.getParent().getParent().getElementName());
        Assert.assertEquals(IJavaElement.PACKAGE_FRAGMENT, javaCompilationUnit.getParent().getElementType());
        Assert.assertEquals(IJavaElement.PACKAGE_FRAGMENT_ROOT, javaCompilationUnit.getParent().getParent().getElementType());
    }
   
    /**
     *
     */
    @Before
    public void setupProject () {
        try {
            builder = new ProjectBuilder("testProject");
            javaProject = builder.javaProject;
            IFolder srcFolder = builder.createFolder("src");
            IFolder mainFolder = builder.createFolder(srcFolder, "main");
            javaFolder = builder.createFolder(mainFolder, "javaxx");
           
            IClasspathEntry javaSourceEntry = JavaCore.newSourceEntry(javaFolder.getFullPath());
           
            javaProject.setRawClasspath(new IClasspathEntry[] {javaSourceEntry}, null);

            templateFolder = builder.createFolder(mainFolder, "webapp");
            Assert.assertEquals(1, javaProject.getAllPackageFragmentRoots().length);

            javaCompilationUnit = buildJavaFile(0);
           
            javaFile = (IFile) javaCompilationUnit.getResource();
           
            Assert.assertTrue(javaFile.exists());
            Assert.assertTrue(javaFolder.exists());
            Assert.assertTrue(templateFolder.exists());
        }
        catch (CoreException e) {
            e.printStackTrace();
        }   
    }

    /**
     * @param i
     * @return
     */
    private ICompilationUnit buildJavaFile(int i) {
        ICompilationUnit unit = null;
        try {
            IPackageFragmentRoot javaRoot = javaProject.getAllPackageFragmentRoots()[i];
            IPackageFragment orgFragment = javaRoot.createPackageFragment("org.loom", true, null);
            unit = orgFragment.createCompilationUnit("Wizard.java", "public class Wizard{}", true, null);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return unit;
    }

    /**
     *
     */
    @After
    public void deleteProject() {
        builder.deleteProject();
    }
}
TOP

Related Classes of org.digitalsoul.loom.core.ProjectBasedTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.