diff options
author | ashatilov | 2015-08-04 07:30:36 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2015-08-07 07:11:12 +0000 |
commit | 779183f84c11ec1f89f7e8eb4c47bad41c6c89d0 (patch) | |
tree | ba00b00a2e4c37e2f8cdff884e24f0bfdb7ad3ae /tests/junit/plugins | |
parent | 6ce949413836269d6034de2349f5d6d7fce64cfa (diff) | |
download | org.eclipse.papyrus-779183f84c11ec1f89f7e8eb4c47bad41c6c89d0.tar.gz org.eclipse.papyrus-779183f84c11ec1f89f7e8eb4c47bad41c6c89d0.tar.xz org.eclipse.papyrus-779183f84c11ec1f89f7e8eb4c47bad41c6c89d0.zip |
Bug 469408 - [Class Diagram] Can't create Assocation Class
Change-Id: I1d075598173dcf0b8fa3cd4903d6604a149ed29a
Signed-off-by: ashatilov <shatilov@montages.com>
Diffstat (limited to 'tests/junit/plugins')
3 files changed, 84 insertions, 11 deletions
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java index 7c30f39a17a..23cfff9783b 100644 --- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java +++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java @@ -46,7 +46,8 @@ TestClassDiagramNestedClassifier.class, TestListCompartmentNodesChildDuplicates.class,
//List Compartment illegal elements
TestListCompartmentIllegalElements.class,
-TestListCompartmentPropertiesOperationsDrop.class
+TestListCompartmentPropertiesOperationsDrop.class,
+TestClassDiagramAssociationClass.class
})
public class AllCanonicalTests {
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestClassDiagramAssociationClass.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestClassDiagramAssociationClass.java new file mode 100644 index 00000000000..77a9f11b9bb --- /dev/null +++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestClassDiagramAssociationClass.java @@ -0,0 +1,63 @@ +package org.eclipse.papyrus.uml.diagram.clazz.test.canonical;
+
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.tooling.runtime.update.DiagramUpdater;
+import org.eclipse.papyrus.commands.ICreationCommand;
+import org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand;
+import org.eclipse.papyrus.uml.diagram.clazz.custom.edit.part.CustomUMLDiagramUpdater;
+import org.eclipse.papyrus.uml.diagram.clazz.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.clazz.test.IClassDiagramTestsConstants;
+import org.eclipse.papyrus.uml.diagram.tests.canonical.TestLink;
+import org.junit.Test;
+
+public class TestClassDiagramAssociationClass extends TestLink {
+
+ @Override
+ public DiagramUpdater getDiagramUpdater() {
+ return CustomUMLDiagramUpdater.INSTANCE;
+ }
+
+ @Override
+ protected ICreationCommand getDiagramCommandCreation() {
+ return new CreateClassDiagramCommand();
+ }
+
+ @Override
+ protected String getProjectName() {
+ return IClassDiagramTestsConstants.PROJECT_NAME;
+ }
+
+ @Override
+ protected String getFileName() {
+ return IClassDiagramTestsConstants.FILE_NAME;
+ }
+
+ @Test
+ public void testManageAssociationClass() {
+ testToManageLink(UMLElementTypes.Class_2008, UMLElementTypes.Class_2008, UMLElementTypes.AssociationClass_4017, UMLElementTypes.Package_2007, true);
+ }
+
+ @Override
+ public void installEnvironment(IElementType sourceType, IElementType targetType) {
+ createdEdgesCount = 2;
+ createdChildsCount = 1;
+ super.installEnvironment(sourceType, targetType);
+ }
+
+ @Override
+ public void testToCreateALink(IElementType linkType, String initialName) {
+ testCreateLink(linkType, initialName);
+ }
+
+ @Override
+ public void testToManageLink(IElementType sourceType, IElementType targetType, IElementType linkType, IElementType containerType, boolean allowedOntheSame, String initialName) {
+ installEnvironment(sourceType, targetType);
+ testToCreateALink(linkType, initialName);
+ testDestroy(linkType);
+ diagramEditor.getDiagramEditDomain().getDiagramCommandStack().undo();
+ testViewDeletion(linkType);
+ testDrop(linkType);
+ diagramEditor.getDiagramEditDomain().getDiagramCommandStack().undo();
+ testToCreateAlinkOnTheSame(linkType, allowedOntheSame);
+ }
+}
\ No newline at end of file diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestLink.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestLink.java index 5861bcbe821..c52679bca35 100644 --- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestLink.java +++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestLink.java @@ -104,6 +104,14 @@ public abstract class TestLink extends AbstractPapyrusTestCase { protected int rootSemanticOwnedElements = 5; + protected int createdEdgesCount = 1; + + protected int createdChildsCount = 0; + + protected int diagramChildrenSize = 5; + + protected int initialEnvironmentChildsCount = 4; + @Rule public final TestRule annotationRule = new AnnotationRule(); @@ -157,7 +165,7 @@ public abstract class TestLink extends AbstractPapyrusTestCase { */ public void testDestroy(IElementType type) { // DESTROY SEMANTIC+ VIEW - assertTrue(DESTROY_DELETION + INITIALIZATION_TEST, ((Diagram) getRootView()).getEdges().size() == 1); + assertEquals(DESTROY_DELETION + INITIALIZATION_TEST, createdEdgesCount, ((Diagram) getRootView()).getEdges().size()); assertTrue(DESTROY_DELETION + INITIALIZATION_TEST, source.getSourceConnections().size() == 1); assertTrue(DESTROY_DELETION + INITIALIZATION_TEST, getRootSemanticModel().getOwnedElements().size() == 5); Request deleteViewRequest = new EditCommandRequestWrapper(new DestroyElementRequest(false)); @@ -169,10 +177,10 @@ public abstract class TestLink extends AbstractPapyrusTestCase { diagramEditor.getDiagramEditDomain().getDiagramCommandStack().execute(command); assertTrue(DESTROY_DELETION + TEST_THE_EXECUTION, ((Diagram) getRootView()).getEdges().size() == 0); assertTrue(DESTROY_DELETION + TEST_THE_EXECUTION, source.getSourceConnections().size() == 0); - assertTrue(DESTROY_DELETION + TEST_THE_EXECUTION, getRootSemanticModel().getOwnedElements().size() == 4); + assertEquals(DESTROY_DELETION + TEST_THE_EXECUTION, 4, getRootSemanticModel().getOwnedElements().size()); assertTrue(DESTROY_DELETION + TEST_THE_UNDO, diagramEditor.getDiagramEditDomain().getDiagramCommandStack().canUndo() == true); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().undo(); - assertTrue(DESTROY_DELETION + TEST_THE_UNDO, ((Diagram) getRootView()).getEdges().size() == 1); + assertEquals(DESTROY_DELETION + TEST_THE_UNDO, createdEdgesCount, ((Diagram) getRootView()).getEdges().size()); assertTrue(DESTROY_DELETION + TEST_THE_UNDO, source.getSourceConnections().size() == 1); assertTrue(DESTROY_DELETION + TEST_THE_UNDO, getRootSemanticModel().getOwnedElements().size() == 5); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().redo(); @@ -189,7 +197,7 @@ public abstract class TestLink extends AbstractPapyrusTestCase { */ public void testDrop(IElementType type) { // DROP - assertTrue(DROP + INITIALIZATION_TEST, getDiagramEditPart().getChildren().size() == 4); + assertEquals(DROP + INITIALIZATION_TEST, 4, getDiagramEditPart().getChildren().size()); assertTrue(DROP + INITIALIZATION_TEST, getRootSemanticModel().getOwnedElements().size() == 5); assertTrue(CREATION + INITIALIZATION_TEST, ((Diagram) getRootView()).getEdges().size() == 0); DropObjectsRequest dropObjectsRequest = new DropObjectsRequest(); @@ -202,17 +210,17 @@ public abstract class TestLink extends AbstractPapyrusTestCase { assertTrue(DROP + TEST_IF_THE_COMMAND_IS_CREATED, command != UnexecutableCommand.INSTANCE); assertTrue(DROP + TEST_IF_THE_COMMAND_CAN_BE_EXECUTED, command.canExecute() == true); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().execute(command); - assertTrue(DROP + TEST_THE_EXECUTION, getDiagramEditPart().getChildren().size() == 4); + assertEquals(DROP + TEST_THE_EXECUTION, initialEnvironmentChildsCount + createdChildsCount, getDiagramEditPart().getChildren().size()); assertTrue(DROP + TEST_THE_EXECUTION, getRootSemanticModel().getOwnedElements().size() == 5); - assertTrue(DROP + TEST_THE_EXECUTION, ((Diagram) getRootView()).getEdges().size() == 1); + assertEquals(DROP + TEST_THE_EXECUTION, createdEdgesCount, ((Diagram) getRootView()).getEdges().size()); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().undo(); assertTrue(DROP + TEST_THE_UNDO, getDiagramEditPart().getChildren().size() == 4); assertTrue(DROP + TEST_THE_UNDO, getRootSemanticModel().getOwnedElements().size() == 5); assertTrue(DROP + TEST_THE_UNDO, ((Diagram) getRootView()).getEdges().size() == 0); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().redo(); - assertTrue(DROP + TEST_THE_REDO, getDiagramEditPart().getChildren().size() == 4); + assertEquals(DROP + TEST_THE_REDO, initialEnvironmentChildsCount + createdChildsCount, getDiagramEditPart().getChildren().size()); assertTrue(DROP + TEST_THE_REDO, getRootSemanticModel().getOwnedElements().size() == 5); - assertTrue(DROP + TEST_THE_REDO, ((Diagram) getRootView()).getEdges().size() == 1); + assertTrue(DROP + TEST_THE_REDO, ((Diagram) getRootView()).getEdges().size() == createdEdgesCount); } /** @@ -294,13 +302,14 @@ public abstract class TestLink extends AbstractPapyrusTestCase { assertNotNull(CREATION + COMMAND_NULL, command); assertTrue(CONTAINER_CREATION + TEST_IF_THE_COMMAND_CAN_BE_EXECUTED, command.canExecute() == true); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().execute(command); - assertTrue(CREATION + INITIALIZATION_TEST, ((Diagram) getRootView()).getEdges().size() == 1); + assertEquals(CREATION + INITIALIZATION_TEST, createdEdgesCount, ((Diagram) getRootView()).getEdges().size()); assertEquals(CREATION + INITIALIZATION_TEST, rootSemanticOwnedElements, getRootSemanticModel().getOwnedElements().size()); + assertEquals(CREATION + INITIALIZATION_TEST, initialEnvironmentChildsCount + createdChildsCount, getDiagramEditPart().getChildren().size()); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().undo(); assertTrue(CREATION + TEST_THE_UNDO, getRootView().getChildren().size() == 4); assertTrue(CREATION + TEST_THE_UNDO, getRootSemanticModel().getOwnedElements().size() == 4); diagramEditor.getDiagramEditDomain().getDiagramCommandStack().redo(); - assertTrue(CREATION + TEST_THE_REDO, ((Diagram) getRootView()).getEdges().size() == 1); + assertEquals(CREATION + TEST_THE_REDO, createdEdgesCount, ((Diagram) getRootView()).getEdges().size()); assertEquals(CREATION + TEST_THE_REDO, rootSemanticOwnedElements, getRootSemanticModel().getOwnedElements().size()); ConnectionEditPart linkEditPart = (ConnectionEditPart) getDiagramEditPart().getConnections().get(0); testLinkEditPart(linkEditPart, initialName); |