Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2014-03-10 15:20:04 -0400
committerChristian W. Damus2014-03-10 15:20:04 -0400
commit999616da64f24cf97b90b34cbb1d9de9a7f83efe (patch)
treefb32b74935eab5087bb2993b1a930b2b0929ee24 /tests/junit
parentf08cbd7b4497a17388bc220b8af9c60b93e2254b (diff)
parent9af541ce3c243a283cb32f0fe33e4effbb0b7ec4 (diff)
downloadorg.eclipse.papyrus-999616da64f24cf97b90b34cbb1d9de9a7f83efe.tar.gz
org.eclipse.papyrus-999616da64f24cf97b90b34cbb1d9de9a7f83efe.tar.xz
org.eclipse.papyrus-999616da64f24cf97b90b34cbb1d9de9a7f83efe.zip
Merge branch 'refs/heads/master' into bugs/429826-ro-axes
Diffstat (limited to 'tests/junit')
-rw-r--r--tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF3
-rw-r--r--tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/src/org/eclipse/papyrus/bundles/tests/BundlesTests.java24
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/META-INF/MANIFEST.MF3
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/src/org/eclipse/papyrus/infra/gmfdiag/css/tests/tests/CSSCompartmentsTests.java7
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/TestMode.java42
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/META-INF/MANIFEST.MF3
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateModelWizard.java30
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateSysMLModelWizard.java17
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestInitModelWizard.java45
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewModelWizardBase.java100
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewProjectWizard.java13
-rw-r--r--tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests/src/org/eclipse/papyrus/uml/tools/tests/tests/DependencyManagementTest.java12
12 files changed, 249 insertions, 50 deletions
diff --git a/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF
index c8514a339c6..03d3428ab1a 100644
--- a/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF
@@ -6,7 +6,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.pde;bundle-version="3.7.0",
org.eclipse.pde.core,
org.eclipse.update.configurator,
- org.junit;bundle-version="4.10.0"
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.0.0"
Export-Package: org.eclipse.papyrus.bundles.tests
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
diff --git a/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/src/org/eclipse/papyrus/bundles/tests/BundlesTests.java b/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/src/org/eclipse/papyrus/bundles/tests/BundlesTests.java
index 5b43e68aedb..8d90eb5853f 100644
--- a/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/src/org/eclipse/papyrus/bundles/tests/BundlesTests.java
+++ b/tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests/src/org/eclipse/papyrus/bundles/tests/BundlesTests.java
@@ -1,7 +1,7 @@
/*****************************************************************************
* Copyright (c) 2012 CEA LIST.
*
- *
+ *
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,8 +22,10 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.junit.utils.TestMode;
import org.eclipse.pde.internal.core.feature.Feature;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Test;
import org.osgi.framework.Bundle;
@@ -113,6 +115,8 @@ public class BundlesTests {
*/
@Test
public void importPackage() {
+ Assume.assumeTrue("Usage of importPackage is discouraged", TestMode.isStrict()); //$NON-NLS-1$
+
testManifestProperty(BundleTestsUtils.BUNDLE_IMPORT_PACKAGE, "", true, false); //$NON-NLS-1$
}
@@ -121,6 +125,8 @@ public class BundlesTests {
*/
@Test
public void reexportDependencies() {
+ Assume.assumeTrue("Usage of reexported dependencies is discouraged", TestMode.isStrict());
+
StringBuffer message = new StringBuffer();
int nb = 0;
for(final Bundle current : BundleTestsUtils.getPapyrusBundles()) {
@@ -139,18 +145,18 @@ public class BundlesTests {
if(bundle.contains(";")) { //$NON-NLS-1$
localMessage.append(NLS.bind("\n - {0}", bundle.substring(0, bundle.indexOf(";")))); //$NON-NLS-1$ //$NON-NLS-2$
} else {
- localMessage.append(NLS.bind("\n - {0}", bundle)); //$NON-NLS-1$
+ localMessage.append(NLS.bind("\n - {0}", bundle)); //$NON-NLS-1$
}
}
}
if(localMessage.length() != 0) {
message.append(localMessage);
- message.append("\n");//$NON-NLS-1$
+ message.append("\n");//$NON-NLS-1$
}
}
StringBuffer errorMessage = new StringBuffer();
errorMessage.append(nb);
- errorMessage.append(" problems!");//$NON-NLS-1$
+ errorMessage.append(" problems!");//$NON-NLS-1$
errorMessage.append(message);
Assert.assertTrue(errorMessage.toString(), nb == 0);
}
@@ -416,6 +422,8 @@ public class BundlesTests {
*/
@Test
public void documentationFileTest() {
+ Assume.assumeTrue("It is a good practice to add a plugin.pdoc file to each plug-in", TestMode.isStrict());
+
String message = null;
int nb = 0;
for(final Bundle bundle : BundleTestsUtils.getPapyrusBundles()) {
@@ -439,8 +447,8 @@ public class BundlesTests {
StringBuffer errorMessage = new StringBuffer();
StringBuffer warningMessage = new StringBuffer();
final Collection<String> possibleIds = new ArrayList<String>();
- possibleIds.add("ID");//$NON-NLS-1$
- possibleIds.add("PLUGIN_ID");//$NON-NLS-1$
+ possibleIds.add("ID");//$NON-NLS-1$
+ possibleIds.add("PLUGIN_ID");//$NON-NLS-1$
int nbError = 0;
int nbWarning = 0;
for(final Bundle current : BundleTestsUtils.getPapyrusBundles()) {
@@ -480,10 +488,10 @@ public class BundlesTests {
finalErrorMessage.append(nbError);
finalErrorMessage.append(" problems! ");//$NON-NLS-1$
finalErrorMessage.append(errorMessage);
- Assert.assertTrue(finalErrorMessage.toString(), nbError == 0); //$NON-NLS-1$
+ Assert.assertTrue(finalErrorMessage.toString(), nbError == 0);
// Do not fail on warnings
- //Assert.assertTrue(nbWarning + "warning!" + warningMessage, nbWarning == 0);//$NON-NLS-1$
+ //Assert.assertTrue(nbWarning + "warning!" + warningMessage, nbWarning == 0);//$NON-NLS-1$
}
}
diff --git a/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/META-INF/MANIFEST.MF
index 915af9d0366..fa967ff57b5 100644
--- a/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/META-INF/MANIFEST.MF
@@ -17,7 +17,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.infra.emf.appearance;bundle-version="1.0.0",
org.junit;bundle-version="4.10.0",
org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
- org.eclipse.core.databinding;bundle-version="1.4.1"
+ org.eclipse.core.databinding;bundle-version="1.4.1",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.0.0"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.css.tests,
org.eclipse.papyrus.infra.gmfdiag.css.tests.tests
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/src/org/eclipse/papyrus/infra/gmfdiag/css/tests/tests/CSSCompartmentsTests.java b/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/src/org/eclipse/papyrus/infra/gmfdiag/css/tests/tests/CSSCompartmentsTests.java
index 0f43da39e6d..d2d3e4b59c6 100644
--- a/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/src/org/eclipse/papyrus/infra/gmfdiag/css/tests/tests/CSSCompartmentsTests.java
+++ b/tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests/src/org/eclipse/papyrus/infra/gmfdiag/css/tests/tests/CSSCompartmentsTests.java
@@ -36,11 +36,12 @@ import org.eclipse.papyrus.infra.gmfdiag.css.helper.CSSHelper;
import org.eclipse.papyrus.infra.gmfdiag.css.helper.ResetStyleHelper;
import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
import org.eclipse.papyrus.infra.gmfdiag.css.tests.Activator;
+import org.eclipse.papyrus.junit.utils.TestMode;
import org.eclipse.uml2.uml.NamedElement;
import org.junit.After;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
/**
@@ -111,9 +112,8 @@ public class CSSCompartmentsTests {
/* Test Enumeration1 */
@Test
- //Currently fails. The "case insensitive" attributes are not supported by Eclipse E4 CSS
- @Ignore("The 'case insensitive' attributes are not supported by Eclipse E4 CSS")
public void testCaseInsensitiveForEnumeration() {
+ Assume.assumeTrue("The 'case insensitive' attributes are not supported by Eclipse E4 CSS", TestMode.isStrict());
Shape enumeration = findShape("Enumeration1");
BasicCompartment compartment = findCompartment(enumeration, ENUMERATION_LITERAL_COMPARTMENT_TYPE);
@@ -121,7 +121,6 @@ public class CSSCompartmentsTests {
}
/* Test Interface 1 and Interface 2 */
- //Currently fails. The interface compartments are not defined in the NotationTypesMap
@Test
public void testAttributeCompartmentForInterface() {
Shape interface1 = findShape("Interface1");
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/TestMode.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/TestMode.java
new file mode 100644
index 00000000000..1cfcfb95686
--- /dev/null
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/TestMode.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.junit.utils;
+
+
+
+/**
+ * This class is used to configure a test job. In strict mode, all tests are executed.
+ * When the strict mode is disabled, the tests which are known to be failing are ignored.
+ *
+ * This is useful for test-driven development, when tests are implemented before the feature:
+ * we can still have "green builds" (by ignoring these specific tests) and test for non-regression.
+ *
+ * Usage: When a test is known to be failing, add: Assume.assumeTrue("Why the test is disabled", TestMode.isStrict());
+ *
+ * The test will be run only in strict mode, and ignored during non-regression testing
+ *
+ * @author Camille Letavernier
+ *
+ */
+public class TestMode {
+
+ private static boolean strictMode = false;
+
+ public static boolean isStrict() {
+ return strictMode;
+ }
+
+ public static void setStrict(boolean strictMode) {
+ TestMode.strictMode = strictMode;
+ }
+
+}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/META-INF/MANIFEST.MF
index 709baa3a4ca..99d55f5daec 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/META-INF/MANIFEST.MF
@@ -8,7 +8,8 @@ Require-Bundle: org.junit;bundle-version="4.8.1",
org.eclipse.ui.workbench;bundle-version="3.103.1",
org.eclipse.ui.ide;bundle-version="3.8.1",
org.eclipse.jface;bundle-version="3.8.101",
- org.eclipse.papyrus.infra.core;bundle-version="1.0.0"
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
+ com.google.guava;bundle-version="11.0.0"
Bundle-Vendor: %providerName
Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateModelWizard.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateModelWizard.java
index 2dfa3809df2..e525636b733 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateModelWizard.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateModelWizard.java
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * LIFL - Initial API and implementation
+ * CEA LIST - Update tests and re-integrate into automation suite
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.wizards;
import org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand;
@@ -32,7 +45,7 @@ public class TestCreateModelWizard extends TestNewModelWizardBase {
@Test
public void testDiagramFileExtentionLabel() {
- final String expectedExtension = "test.xxx";
+ final String expectedExtension = "di"; // the extension is always *.di
IWorkbenchWizard wizard = new InitModelWizard() {
@Override
@@ -48,8 +61,8 @@ public class TestCreateModelWizard extends TestNewModelWizardBase {
};
initWizardDialog(wizard);
- NewModelFilePage page = (NewModelFilePage)wizard.getPages()[0];
- //assertEquals(expectedExtension, page.getFileExtension());
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
+ assertEquals(expectedExtension, page.getFileExtension());
}
@Test
@@ -69,9 +82,12 @@ public class TestCreateModelWizard extends TestNewModelWizardBase {
};
+ // ensure that the dialog would create a profile
+ settings.saveDefaultDiagramCategory(new String[] {"profile"});
+
initWizardDialog(wizard);
- // String actual = wizard.getDiagramFileExtension();
- // assertEquals(expectedExtension, actual);
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
+ assertEquals(expectedExtension, page.getFileExtension());
}
@Test
@@ -92,8 +108,8 @@ public class TestCreateModelWizard extends TestNewModelWizardBase {
};
initWizardDialog(wizard);
- // String actual = wizard.getDiagramFileExtension();
- // assertEquals(expectedExtension, actual);
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
+ assertEquals(expectedExtension, page.getFileExtension());
}
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateSysMLModelWizard.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateSysMLModelWizard.java
index 93885ee3d2d..cf8de01ccac 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateSysMLModelWizard.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestCreateSysMLModelWizard.java
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * LIFL - Initial API and implementation
+ * CEA LIST - Update tests and re-integrate into automation suite
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.wizards;
import org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand;
@@ -55,8 +68,8 @@ public class TestCreateSysMLModelWizard extends TestNewModelWizardBase {
};
initWizardDialog(wizard);
- // String actual = wizard.getDiagramFileExtension();
- // assertEquals(expectedExtension, actual);
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
+ assertEquals(expectedExtension, page.getFileExtension());
}
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestInitModelWizard.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestInitModelWizard.java
index 620076b8710..fcb9a7c7323 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestInitModelWizard.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestInitModelWizard.java
@@ -1,6 +1,18 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * LIFL - Initial API and implementation
+ * CEA LIST - Update tests and re-integrate into automation suite
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.wizards;
-import org.eclipse.core.resources.IFile;
import org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand;
import org.eclipse.papyrus.uml.diagram.wizards.pages.NewModelFilePage;
import org.eclipse.papyrus.uml.diagram.wizards.pages.SelectDiagramCategoryPage;
@@ -29,13 +41,9 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
return new String[]{ "uml" };
}
- // @Override
- // public String getDiagramFileExtension(String categoryId, String defaultExtension) {
- // return "test.uml";
- // }
-
- protected String getDiagramFileName(IFile domainModel) {
- return "test.uml";
+ @Override
+ public String getDiagramFileExtension(String categoryId, String defaultExtension) {
+ return "uml";
}
};
@@ -43,7 +51,7 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
@Test
public void testDiagramFileExtentionLabel() {
- final String expectedExtension = "test.xxx";
+ final String expectedExtension = "di"; // the extension is always *.di
IWorkbenchWizard wizard = new InitModelWizard() {
@Override
@@ -51,14 +59,15 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
return isCreateFromExistingModel;
}
- protected String getDiagramFileName(IFile domainModel) {
+ @Override
+ public String getDiagramFileExtension(String categoryId, String defaultExtension) {
return "tanya"; // arbitrary extension to avoid NPE
}
};
initWizardDialog(wizard);
- NewModelFilePage page = (NewModelFilePage)wizard.getPages()[0];
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
assertEquals(expectedExtension, page.getFileExtension());
}
@@ -73,7 +82,7 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
@Test
public void testDiagramFileExtenstionForUML() {
// 333849 - [Wizard] Init Diagram: Respect file extension of the UML model
- final String expectedExtension = "di";
+ final String expectedExtension = "di"; // init-from-existing always uses this, even for profiles
InitModelWizard wizard = new InitModelWizard() {
@Override
@@ -82,8 +91,9 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
}
- protected String getDiagramFileName(IFile domainModel) {
- return "tanya"; // arbitrary extension to avoid NPE
+ @Override
+ public String getDiagramFileExtension(String categoryId, String defaultExtension) {
+ return "profile.di"; // arbitrary extension to avoid NPE
}
@Override
@@ -93,9 +103,12 @@ public class TestInitModelWizard extends TestNewModelWizardBase {
};
+ // ensure that the dialog would create a profile
+ settings.saveDefaultDiagramCategory(new String[] {"profile"});
+
initWizardDialog(wizard);
- // String actual = wizard.getDiagramFileExtension();
- // assertEquals(expectedExtension, actual);
+ NewModelFilePage page = getPage(wizard, NewModelFilePage.class);
+ assertEquals(expectedExtension, page.getFileExtension());
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewModelWizardBase.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewModelWizardBase.java
index 7b9ea500023..6346f889d1e 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewModelWizardBase.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewModelWizardBase.java
@@ -1,30 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * LIFL - Initial API and implementation
+ * CEA LIST - Update tests and re-integrate into automation suite
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.wizards;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Arrays;
+
import junit.framework.TestCase;
+import org.eclipse.jface.dialogs.DialogSettings;
+import org.eclipse.jface.dialogs.IDialogSettings;
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.IWizard;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.papyrus.uml.diagram.wizards.pages.SelectStorageProviderPage;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchWizard;
+import org.junit.After;
import org.junit.Before;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
+
public abstract class TestNewModelWizardBase extends TestCase {
- protected static final IStructuredSelection EMPTY_SELECTION = new StructuredSelection();
+ protected static final IStructuredSelection EMPTY_SELECTION = StructuredSelection.EMPTY;
+ protected SettingsHelper settings;
+
protected abstract IWorkbenchWizard createWizard();
+ private String settingsBackup;
+
@Override
@Before
- protected void setUp() throws Exception {
+ public void setUp() throws Exception {
super.setUp();
+
+ initSettingsHelper();
+ }
+
+ @Override
+ @After
+ public void tearDown() throws Exception {
+ try {
+ restoreDialogSettings();
+ } finally {
+ super.tearDown();
+ }
}
protected IStructuredSelection getSelection() {
@@ -61,14 +103,28 @@ public abstract class TestNewModelWizardBase extends TestCase {
return Activator.getDefault().getWorkbench();
}
+ protected <P extends IWizardPage> P getPage(IWizard wizard, Class<P> pageType) {
+ P result = Iterables.find(Iterables.filter(Arrays.asList(wizard.getPages()), pageType), Predicates.alwaysTrue(), null);
+ assertNotNull("Did not find page of type " + pageType.getSimpleName(), result);
+ return result;
+ }
+
protected void testOrderOfPages(IWorkbenchWizard wizard, Class<?>[] expectedPages) {
+ Class<?> optionalInitialPage = SelectStorageProviderPage.class;
+
IWizardPage next = wizard.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);
-
+ if((optionalInitialPage != null) && (i == 0) && optionalInitialPage.isInstance(next)) {
+ // we have tested the optional initial page; don't do it again
+ optionalInitialPage = null;
+ i--;
+ } else {
+ testPageInstanceOf(next, expectedPages[i], i);
+ }
+
next = next.getNextPage();
}
String noMorePagesExpectedMessageFormat = "page %s is not expected";
@@ -81,5 +137,39 @@ public abstract class TestNewModelWizardBase extends TestCase {
assertTrue(String.format(wrongClassFormat, index, next.getClass()), expectedClass.isInstance(next));
}
-
+ private void initSettingsHelper() {
+ IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
+ IDialogSettings settings = workbenchSettings.getSection(CreateModelWizard.NEW_MODEL_SETTINGS);
+ if(settings == null) {
+ settings = workbenchSettings.addNewSection(CreateModelWizard.NEW_MODEL_SETTINGS);
+ }
+ this.settings = new SettingsHelper(settings);
+
+ StringWriter backupWriter = new StringWriter();
+ try {
+ settings.save(backupWriter);
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Impossible IO exception on string writer: " + e.getLocalizedMessage());
+ }
+ this.settingsBackup = backupWriter.toString();
+ }
+
+ private void restoreDialogSettings() {
+ if(settingsBackup != null) {
+ IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
+ IDialogSettings settings = workbenchSettings.getSection(CreateModelWizard.NEW_MODEL_SETTINGS);
+ if(settings != null) {
+ ((DialogSettings)workbenchSettings).removeSection(settings);
+ settings = workbenchSettings.addNewSection(settings.getName());
+
+ try {
+ settings.load(new StringReader(settingsBackup));
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Impossible IO exception on string read: " + e.getLocalizedMessage());
+ }
+ }
+ }
+ }
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewProjectWizard.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewProjectWizard.java
index 065cf35df8f..7e4ffca0b9e 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewProjectWizard.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/test/org/eclipse/papyrus/uml/diagram/wizards/TestNewProjectWizard.java
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * LIFL - Initial API and implementation
+ * CEA LIST - Update tests and re-integrate into automation suite
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.wizards;
import org.eclipse.papyrus.uml.diagram.wizards.pages.SelectDiagramCategoryPage;
diff --git a/tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests/src/org/eclipse/papyrus/uml/tools/tests/tests/DependencyManagementTest.java b/tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests/src/org/eclipse/papyrus/uml/tools/tests/tests/DependencyManagementTest.java
index 8badbb23d40..36d89cc8e52 100644
--- a/tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests/src/org/eclipse/papyrus/uml/tools/tests/tests/DependencyManagementTest.java
+++ b/tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests/src/org/eclipse/papyrus/uml/tools/tests/tests/DependencyManagementTest.java
@@ -1,6 +1,6 @@
/*****************************************************************************
* Copyright (c) 2013 CEA LIST.
- *
+ *
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,6 +23,7 @@ import org.eclipse.papyrus.infra.emf.resource.DependencyManagementHelper;
import org.eclipse.papyrus.junit.utils.ModelUtils;
import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
import org.eclipse.papyrus.junit.utils.ProjectUtils;
+import org.eclipse.papyrus.junit.utils.TestMode;
import org.eclipse.papyrus.junit.utils.tests.AbstractEditorTest;
import org.eclipse.papyrus.uml.tools.tests.Activator;
import org.eclipse.uml2.uml.Model;
@@ -31,6 +32,7 @@ import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.util.UMLUtil;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Ignore;
import org.junit.Test;
import org.osgi.framework.Bundle;
@@ -106,12 +108,12 @@ public class DependencyManagementTest extends AbstractEditorTest {
}
//Switch from two different versions of a profile
- //Problem: !!Stereotypes are not references!! They are instances. After the switch, the new
+ //Problem: !!Stereotypes are not references!! They are instances. After the switch, the new
//profile is correctly applied, but the applied Stereotypes are the ones from the initial Profile
- //
- //Current state: FAILS
@Test
public void testSwitchProfilesWithStereotypes() throws Exception {
+ Assume.assumeTrue("Bug 408491 is not yet implemented", TestMode.isStrict());
+
IProject project = ProjectUtils.createProject("dependencyManagement.switchProfiles");
PapyrusProjectUtils.copyPapyrusModel(project, getBundle(), getSourcePath(), "profiles/model");
PapyrusProjectUtils.copyPapyrusModel(project, getBundle(), getSourcePath(), "profiles/p1/profile1.profile");
@@ -143,7 +145,7 @@ public class DependencyManagementTest extends AbstractEditorTest {
});
- //After the transformation, stereotypes from the target profile must be applied
+ //After the transformation, stereotypes from the target profile must be applied
checkAppliedProfileAndStereotypes(modelSet, rootModel, targetProfileURI);
//Save, reload, and check again

Back to the top