blob: 8d0e3581e6bb3da1acb7fca1574a134d393e0c05 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2012 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.tests.resources.usecase;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
/**
* Basically, it is a representation of a user session. The other class,
* in this case Snapshot2Test, is going to verify if this session ended
* as expected (failing or not) and may add more "user actions" to be
* verified in the next session and so on.
*/
public class Snapshot1Test extends SnapshotTest {
public Snapshot1Test() {
super();
}
public Snapshot1Test(String name) {
super(name);
}
protected static String[] defineHierarchy1() {
return new String[] {"/folder110/", "/folder110/folder120/", "/folder110/folder120/folder130/", "/folder110/folder120/folder130/folder140/", "/folder110/folder120/folder130/folder140/folder150/", "/folder110/folder120/folder130/folder140/folder150/file160", "/folder110/folder120/folder130/folder140/file150", "/folder110/folder121/", "/folder110/folder121/folder131/", "/folder110/folder120/folder130/folder141/"};
}
protected static String[] defineHierarchy2() {
return new String[] {"/file110", "/folder110/", "/folder110/file120", "/folder111/", "/folder111/folder120/", "/folder111/file121"};
}
// copy and paste in the scrapbook to run
public void testCreateMyProject() {
IProject project = getWorkspace().getRoot().getProject(PROJECT_1);
try {
project.create(null);
project.open(null);
} catch (CoreException e) {
fail("0.0", e);
}
assertTrue("0.1", project.exists());
assertTrue("0.2", project.isOpen());
// create some children
IResource[] resources = buildResources(project, defineHierarchy1());
ensureExistsInWorkspace(resources, true);
assertExistsInFileSystem("1.1", resources);
assertExistsInWorkspace("1.2", resources);
try {
project.close(null);
} catch (CoreException e) {
fail("2.0", e);
}
assertTrue("2.1", project.exists());
assertTrue("2.2", !project.isOpen());
}
/**
* Create another project and leave it closed for next session.
*/
public void testCreateProject2() {
IProject project = getWorkspace().getRoot().getProject(PROJECT_2);
try {
project.create(null);
project.open(null);
} catch (CoreException e) {
fail("0.0", e);
}
assertTrue("0.1", project.exists());
assertTrue("0.2", project.isOpen());
// create some children
IResource[] resources = buildResources(project, defineHierarchy2());
ensureExistsInWorkspace(resources, true);
assertExistsInFileSystem("3.1", resources);
assertExistsInWorkspace("3.2", resources);
}
public void testSnapshotWorkspace() {
try {
getWorkspace().save(false, null);
} catch (CoreException e) {
fail("1.0", e);
}
}
}