diff options
author | tfesenko | 2011-01-07 14:05:16 +0000 |
---|---|---|
committer | tfesenko | 2011-01-07 14:05:16 +0000 |
commit | 61ddf84f5c48cae7679d6d0043488f818db749c2 (patch) | |
tree | 3a945b6fe3f22a4c4d813f61576a82cd991e5b84 /tests/junit | |
parent | 08101bcd04b304f23b5719452b3be9d089b5fd24 (diff) | |
download | org.eclipse.papyrus-61ddf84f5c48cae7679d6d0043488f818db749c2.tar.gz org.eclipse.papyrus-61ddf84f5c48cae7679d6d0043488f818db749c2.tar.xz org.eclipse.papyrus-61ddf84f5c48cae7679d6d0043488f818db749c2.zip |
Bug 333558 - [Wizard] Refactor NewPapyrusProjectWizard
Diffstat (limited to 'tests/junit')
5 files changed, 176 insertions, 1 deletions
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/META-INF/MANIFEST.MF index 3331c75c7d4..94437f9b43e 100644 --- a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/META-INF/MANIFEST.MF +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/META-INF/MANIFEST.MF @@ -8,7 +8,8 @@ Bundle-Localization: fragment Fragment-Host: org.eclipse.papyrus.core;bundle-version="0.8.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.junit;bundle-version="3.8.2", - org.eclipse.uml2.uml;bundle-version="3.1.0" + org.eclipse.uml2.uml;bundle-version="3.1.0", + org.eclipse.papyrus.wizards;bundle-version="0.8.0" Export-Package: org.eclipse.papyrus.core.lifecycleevents, org.eclipse.papyrus.core.services, org.eclipse.papyrus.core.tests, diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestCreateModelWizard.java b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestCreateModelWizard.java new file mode 100644 index 00000000000..54634f62f2b --- /dev/null +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestCreateModelWizard.java @@ -0,0 +1,25 @@ +package org.eclipse.papyrus.core.wizard; + +import org.eclipse.papyrus.wizards.CreateModelWizard; +import org.eclipse.papyrus.wizards.pages.NewModelFilePage; +import org.eclipse.papyrus.wizards.pages.SelectDiagramCategoryPage; +import org.eclipse.papyrus.wizards.pages.SelectDiagramKindPage; +import org.eclipse.ui.IWorkbenchWizard; + + +public class TestCreateModelWizard extends TestNewModelWizardBase { + + protected IWorkbenchWizard createWizard() { + return new CreateModelWizard(); + } + + public void testOrderOfPages() { + Class[] expectedPages = new Class[]{ + NewModelFilePage.class, + SelectDiagramCategoryPage.class, + SelectDiagramKindPage.class, + }; + testOrderOfPages(expectedPages); + } + +} diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestInitModelWizard.java b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestInitModelWizard.java new file mode 100644 index 00000000000..070d98e5d75 --- /dev/null +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestInitModelWizard.java @@ -0,0 +1,41 @@ +package org.eclipse.papyrus.core.wizard; + +import org.eclipse.core.resources.IFile; +import org.eclipse.jface.wizard.IWizardPage; +import org.eclipse.papyrus.wizards.InitModelWizard; +import org.eclipse.papyrus.wizards.pages.NewModelFilePage; +import org.eclipse.papyrus.wizards.pages.SelectDiagramCategoryPage; +import org.eclipse.papyrus.wizards.pages.SelectDiagramKindPage; +import org.eclipse.papyrus.wizards.pages.SelectRootElementPage; +import org.eclipse.ui.IWorkbenchWizard; + + +public class TestInitModelWizard extends TestNewModelWizardBase { + + @Override + protected IWorkbenchWizard createWizard() { + return new InitModelWizard() { + @Override + protected boolean isCreateFromExistingDomainModel() { + return true; + } + + @Override + protected String getDiagramFileName(IFile domainModel) { + return "test.uml"; + } + + }; + } + + public void testOrderOfPages() { + Class[] expectedPages = new Class[]{ + NewModelFilePage.class, + SelectDiagramCategoryPage.class, + SelectDiagramKindPage.class, + SelectRootElementPage.class, + }; + testOrderOfPages(expectedPages); + } + +} diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewModelWizardBase.java b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewModelWizardBase.java new file mode 100644 index 00000000000..e0ecd3c70db --- /dev/null +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewModelWizardBase.java @@ -0,0 +1,78 @@ +package org.eclipse.papyrus.core.wizard; + +import junit.framework.TestCase; + +import org.eclipse.jface.layout.PixelConverter; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.wizard.IWizardPage; +import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.papyrus.wizards.Activator; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchWizard; + + +public abstract class TestNewModelWizardBase extends TestCase { + + private IWorkbenchWizard myWizard; + + protected static final IStructuredSelection EMPTY_SELECTION = new StructuredSelection(); + + protected abstract IWorkbenchWizard createWizard(); + + @Override + protected void setUp() throws Exception { + super.setUp(); + myWizard = createWizard(); + myWizard.init(getWorkbench(), getSelection()); + initWizardDialog(myWizard, getShell()); + } + + protected IStructuredSelection getSelection() { + return EMPTY_SELECTION; + } + + protected void initWizardDialog(IWorkbenchWizard wizard, Shell shell) { + WizardDialog dialog= new WizardDialog(shell, wizard); + PixelConverter converter= new PixelConverter(JFaceResources.getDialogFont()); + dialog.setMinimumPageSize(converter.convertWidthInCharsToPixels(70), converter.convertHeightInCharsToPixels(20)); + dialog.create(); + } + + protected Shell getShell() { + return getWorkbench().getActiveWorkbenchWindow().getShell(); + } + + protected IWorkbench getWorkbench() { + return Activator.getDefault().getWorkbench(); + } + + protected IWorkbenchWizard getWizard() { + return myWizard; + } + + + protected void testOrderOfPages(Class[] expectedPages) { + IWizardPage next = getWizard().getPages()[0]; + for (int i = 0; i < expectedPages.length; i++) { + String isNullMessageFormat = "page %s expected, but actual is: null"; + assertNotNull(String.format(isNullMessageFormat, i), next); + + testPageInstanceOf(next, expectedPages[i], i); + + next = next.getNextPage(); + } + String noMorePagesExpectedMessageFormat = "page %s is not expected"; + assertNull(String.format(noMorePagesExpectedMessageFormat, next), next); + + } + + protected void testPageInstanceOf(IWizardPage next, Class expectedClass, int index) { + String wrongClassFormat = "page %s expected to be SelectRootElementPage, but actual is: %s"; + assertTrue(String.format(wrongClassFormat, index, next.getClass()), expectedClass.isInstance(next)); + } + + +} diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewProjectWizard.java b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewProjectWizard.java new file mode 100644 index 00000000000..7f839e59756 --- /dev/null +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.tests/test/org/eclipse/papyrus/core/wizard/TestNewProjectWizard.java @@ -0,0 +1,30 @@ +package org.eclipse.papyrus.core.wizard; + +import org.eclipse.papyrus.wizards.NewPapyrusProjectWizard; +import org.eclipse.papyrus.wizards.pages.SelectDiagramCategoryPage; +import org.eclipse.papyrus.wizards.pages.SelectDiagramKindPage; +import org.eclipse.ui.IWorkbenchWizard; +import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; + + +public class TestNewProjectWizard extends TestNewModelWizardBase { + + + protected IWorkbenchWizard createWizard() { + return new NewPapyrusProjectWizard(); + } + + public void testOrderOfPages() { + Class[] expectedPages = new Class[]{ + WizardNewProjectCreationPage.class, + SelectDiagramCategoryPage.class, + SelectDiagramKindPage.class, + }; + testOrderOfPages(expectedPages); + } + + public void testProfileExtension() { + } + + +} |