diff --git a/tests/org.eclipse.wst.xsl.launching.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xsl.launching.tests/META-INF/MANIFEST.MF
index ab74317..9383320 100644
--- a/tests/org.eclipse.wst.xsl.launching.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xsl.launching.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.launching.tests
-Bundle-Version: 1.1.100.qualifier
+Bundle-Version: 1.2.0.qualifier
 Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
diff --git a/tests/org.eclipse.wst.xsl.launching.tests/pom.xml b/tests/org.eclipse.wst.xsl.launching.tests/pom.xml
index 55e6a84..db2bd85 100644
--- a/tests/org.eclipse.wst.xsl.launching.tests/pom.xml
+++ b/tests/org.eclipse.wst.xsl.launching.tests/pom.xml
@@ -12,7 +12,7 @@
 
    <groupId>org.eclipse.wst.xsl</groupId>
    <artifactId>org.eclipse.wst.xsl.launching.tests</artifactId>
-   <version>1.1.100-SNAPSHOT</version>
+   <version>1.2.0-SNAPSHOT</version>
    <packaging>eclipse-test-plugin</packaging>
    <name>XSL Launching Tests</name>
 
diff --git a/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/AbstractLaunchingTest.java b/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/AbstractLaunchingTest.java
index 865b196..86d6ab3 100644
--- a/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/AbstractLaunchingTest.java
+++ b/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/AbstractLaunchingTest.java
@@ -32,7 +32,7 @@
 	private static final String XSL_TEST_PROJECT = "XSLTestProject";
 	protected static final String XSL_LAUNCH_SHORTCUT_ID = "org.eclipse.wst.xsl.debug.ui.launchshortcut";
 	protected static final String LAUNCHCONFIGS = "launchConfigs";
-	protected TestEnvironment env;
+	protected EnvironmentTestSetup env;
 	protected IProject testProject;
 	protected IFolder folder;
 
@@ -53,7 +53,7 @@
 	}
 
 	private void createProject() throws CoreException {
-		env = new TestEnvironment();
+		env = new EnvironmentTestSetup();
 		testProject = env.createProject(XSL_TEST_PROJECT);
 	}
 	
diff --git a/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/TestEnvironment.java b/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/EnvironmentTestSetup.java
similarity index 95%
rename from tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/TestEnvironment.java
rename to tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/EnvironmentTestSetup.java
index d310089..73f1e42 100644
--- a/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/TestEnvironment.java
+++ b/tests/org.eclipse.wst.xsl.launching.tests/test-launching-src/org/eclipse/wst/xsl/launching/tests/EnvironmentTestSetup.java
@@ -29,14 +29,14 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.jobs.Job;
 
-public class TestEnvironment {
+public class EnvironmentTestSetup {
 	
 	public static final boolean DEBUG = true;
 	
 	private IWorkspace	_workspace;
 	private HashMap<String, IProject> _projects = new HashMap<String, IProject>(20);
 	
-	public TestEnvironment() throws CoreException {
+	public EnvironmentTestSetup() throws CoreException {
 		_workspace = ResourcesPlugin.getWorkspace();
 		if (DEBUG){
 			_workspace.getRoot().delete(true, true, null);
@@ -126,7 +126,7 @@
 
 	private IFile createFileFromResource(IPath filePath, String path) throws CoreException {
 		IFile file = _workspace.getRoot().getFile(filePath);
-		InputStream in = TestEnvironment.class.getResourceAsStream(path);
+		InputStream in = EnvironmentTestSetup.class.getResourceAsStream(path);
 		if (file.exists())file.setContents(in, true, false, null);
 		else file.create(in, true, null);
 		return file;
