public void testRemoveFromBuildpath01RemoveLibs() throws Exception { fJavaProject = createProject(DEFAULT_OUTPUT_FOLDER_NAME); IPath[] jarPaths = new IPath[] { JavaProjectHelper.MYLIB.makeAbsolute(), JavaProjectHelper.JUNIT_SRC_381.makeAbsolute() }; CPJavaProject cpProject = CPJavaProject.createFromExisting(fJavaProject); BuildpathDelta delta = ClasspathModifier.addExternalJars(jarPaths, cpProject); ClasspathModifier.commitClassPath(cpProject, null); CPListElement[] toRemove = {delta.getAddedEntries().get(0), delta.getAddedEntries().get(1)}; delta = ClasspathModifier.removeFromBuildpath(toRemove, cpProject); assertDeltaResources(delta, new IPath[0], new IPath[0], new IPath[0], new IPath[0]); assertDeltaDefaultOutputFolder( delta, fJavaProject.getPath().append(DEFAULT_OUTPUT_FOLDER_NAME)); assertDeltaRemovedEntries(delta, new IPath[] {toRemove[0].getPath(), toRemove[1].getPath()}); assertDeltaAddedEntries(delta, new IPath[0]); ClasspathModifier.commitClassPath(cpProject, null); IClasspathEntry[] classpathEntries = fJavaProject.getRawClasspath(); assertNumberOfEntries(classpathEntries, 1); }
private static void assertDeltaAddedEntries(BuildpathDelta delta, IPath[] paths) { List addedEntries = delta.getAddedEntries(); assertTrue( "Expected " + paths.length + " is " + addedEntries.size(), addedEntries.size() == paths.length); IPath[] added = new IPath[addedEntries.size()]; int i = 0; for (Iterator iterator = addedEntries.iterator(); iterator.hasNext(); ) { CPListElement element = (CPListElement) iterator.next(); added[i] = element.getPath(); i++; } for (int j = 0; j < paths.length; j++) { assertTrue("Entry " + paths[j] + " was not added", contains(added, paths[j])); } for (int j = 0; j < added.length; j++) { assertTrue("Entry " + added[j] + " was added", contains(paths, added[j])); } }