package org.bundlemaker.core.itest.jedit_artifact_model.core; import static org.junit.Assert.assertEquals; import junit.framework.Assert; import org.bundlemaker.core.BundleMakerProjectChangedEvent; import org.bundlemaker.core.BundleMakerProjectChangedEvent.Type; import org.bundlemaker.core.BundleMakerProjectState; import org.bundlemaker.core.IBundleMakerProjectChangedListener; import org.bundlemaker.core.itestframework.AbstractBundleMakerProjectTest; import org.bundlemaker.core.util.ProgressMonitor; import org.eclipse.core.runtime.CoreException; import org.junit.Test; /** * <p> * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public class LifecycleTest extends AbstractBundleMakerProjectTest { /** - */ private BundleMakerProjectChangedEvent _changedEvent; /** * <p> * </p> * * @throws CoreException */ @Test public void test() throws Exception { // addProjectDescription(); // getBundleMakerProject().addBundleMakerProjectChangedListener(new IBundleMakerProjectChangedListener() { @Override public void bundleMakerProjectChanged(BundleMakerProjectChangedEvent event) { _changedEvent = event; } }); // assert equals assertEquals(BundleMakerProjectState.CREATED, getBundleMakerProject().getState()); // reset event _changedEvent = null; // initialize initialize(); // Assert.assertNotNull(_changedEvent); Assert.assertEquals(Type.PROJECT_STATE_CHANGED, _changedEvent.getType()); // reset event _changedEvent = null; // parse parse(); // Assert.assertNotNull(_changedEvent); Assert.assertEquals(Type.PROJECT_STATE_CHANGED, _changedEvent.getType()); // reset event _changedEvent = null; // getBundleMakerProject().getModifiableProjectDescription().save(); // Assert.assertNotNull(_changedEvent); Assert.assertEquals(Type.PROJECT_DESCRIPTION_SAVED, _changedEvent.getType()); } /** * <p> * parse() * </p> * * @throws CoreException */ private void parse() throws CoreException { // parse the project getBundleMakerProject().parseAndOpen(new ProgressMonitor()); assertEquals(BundleMakerProjectState.READY, getBundleMakerProject().getState()); } /** * <p> * initialize() * </p> * * @throws CoreException */ private void initialize() throws CoreException { // getBundleMakerProject().initialize(new ProgressMonitor()); assertEquals(BundleMakerProjectState.INITIALIZED, getBundleMakerProject().getState()); // assert resource list assertEquals(2, getBundleMakerProject().getBinaryResources().size()); assertEquals(2, getBundleMakerProject().getSourceResources().size()); } /** * {@inheritDoc} */ @Override protected String computeTestProjectName() { return "SimpleArtifactModelTest"; } }