package org.eclipse.uml2.diagram.csd.tests.tool;
import java.util.Collections;
import org.eclipse.gef.Tool;
import org.eclipse.gef.palette.PaletteContainer;
import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.palette.ToolEntry;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool;
import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
import org.eclipse.uml2.diagram.csd.edit.parts.Class3EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.ClassAttributesEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.ClassClass_contentsEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.ClassEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.ClassOperationsEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.CollaborationContentsEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.CollaborationEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.CollaborationUse2EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.ElementImportEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.InstanceSpecificationEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.InstanceSpecificationSlotsEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.OperationEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.Package2EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.PackageImportsEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.Port3EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.PortEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.Property2EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.Property3EditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.PropertyEditPart;
import org.eclipse.uml2.diagram.csd.edit.parts.SlotEditPart;
import org.eclipse.uml2.diagram.csd.part.UMLPaletteFactory;
import org.eclipse.uml2.diagram.csd.part.UMLVisualIDRegistry;
public class ChildrenGroupTest extends CSDCreationToolTestBase {
PaletteRoot myRoot = new PaletteRoot();
/**
* @generated
*/
Tool myElementImportTool;
/**
* @generated
*/
Tool myAttributeTool;
/**
* @generated
*/
Tool myOperationTool;
/**
* @generated
*/
Tool myPortTool;
/**
* @generated
*/
Tool myCollaborationUseTool;
/**
* @generated
*/
Tool mySlotTool;
/**
* @generated
*/
@Override
protected void setUp() throws Exception {
super.setUp();
new UMLPaletteFactory().fillPalette(myRoot);
myElementImportTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(0)).createTool();
myAttributeTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(1)).createTool();
myOperationTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(2)).createTool();
myPortTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(3)).createTool();
myCollaborationUseTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(4)).createTool();
mySlotTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(5)).createTool();
}
/**
* @generated
*/
public ChildrenGroupTest(String name) {
super(name);
}
/**
* @generated
*/
public void testElementImport() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
IGraphicalEditPart editPart1 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(Package2EditPart.VISUAL_ID));
assertNotNull(editPart1);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment1 = editPart1.getChildBySemanticHint(UMLVisualIDRegistry.getType(PackageImportsEditPart.VISUAL_ID));
assertNotNull(compartment1);
createNodeByTool(myElementImportTool, 10, 10);
IGraphicalEditPart editPart2 = compartment1.getChildBySemanticHint(UMLVisualIDRegistry.getType(ElementImportEditPart.VISUAL_ID));
assertNotNull(editPart2);
assertEquals("ElementImport", getMetaclassName(editPart2));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testPropertyInCollaboration() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool1;
tool1 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Collaboration_2005")));
createNodeByTool(tool1, 200, 100);
IGraphicalEditPart editPart3 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(CollaborationEditPart.VISUAL_ID));
assertNotNull(editPart3);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment2 = editPart3.getChildBySemanticHint(UMLVisualIDRegistry.getType(CollaborationContentsEditPart.VISUAL_ID));
assertNotNull(compartment2);
createNodeByTool(myAttributeTool, 275, 130);
IGraphicalEditPart editPart4 = compartment2.getChildBySemanticHint(UMLVisualIDRegistry.getType(PropertyEditPart.VISUAL_ID));
assertNotNull(editPart4);
assertEquals("Property", getMetaclassName(editPart4));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testPropertyInClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool2;
tool2 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Class_2006")));
createNodeByTool(tool2, 200, 100);
IGraphicalEditPart editPart5 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassEditPart.VISUAL_ID));
assertNotNull(editPart5);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment3 = editPart5.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassAttributesEditPart.VISUAL_ID));
assertNotNull(compartment3);
createNodeByTool(myAttributeTool, 201, 101);
IGraphicalEditPart editPart6 = compartment3.getChildBySemanticHint(UMLVisualIDRegistry.getType(Property2EditPart.VISUAL_ID));
assertNotNull(editPart6);
assertEquals("Property", getMetaclassName(editPart6));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testPropertyInExpandedClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool3;
tool3 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Class_2007")));
createNodeByTool(tool3, 200, 100);
IGraphicalEditPart editPart7 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(Class3EditPart.VISUAL_ID));
assertNotNull(editPart7);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment4 = editPart7.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassClass_contentsEditPart.VISUAL_ID));
assertNotNull(compartment4);
createNodeByTool(myAttributeTool, 201, 101);
IGraphicalEditPart editPart8 = compartment4.getChildBySemanticHint(UMLVisualIDRegistry.getType(Property3EditPart.VISUAL_ID));
assertNotNull(editPart8);
assertEquals("Property", getMetaclassName(editPart8));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testOperationInClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool4;
tool4 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Class_2006")));
createNodeByTool(tool4, 200, 100);
IGraphicalEditPart editPart9 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassEditPart.VISUAL_ID));
assertNotNull(editPart9);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment5 = editPart9.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassOperationsEditPart.VISUAL_ID));
assertNotNull(compartment5);
createNodeByTool(myOperationTool, 201, 101);
IGraphicalEditPart editPart10 = compartment5.getChildBySemanticHint(UMLVisualIDRegistry.getType(OperationEditPart.VISUAL_ID));
assertNotNull(editPart10);
assertEquals("Operation", getMetaclassName(editPart10));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testPortOnClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool5;
tool5 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Class_2006")));
createNodeByTool(tool5, 200, 100);
IGraphicalEditPart editPart11 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassEditPart.VISUAL_ID));
assertNotNull(editPart11);
getDiagramEditPart().getViewer().flush();
createNodeByTool(myPortTool, 201, 101);
IGraphicalEditPart editPart12 = editPart11.getChildBySemanticHint(UMLVisualIDRegistry.getType(PortEditPart.VISUAL_ID));
assertNotNull(editPart12);
assertEquals("Port", getMetaclassName(editPart12));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testPortOnExpandedClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool6;
tool6 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Class_2007")));
createNodeByTool(tool6, 200, 100);
IGraphicalEditPart editPart13 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassEditPart.VISUAL_ID));
assertNotNull(editPart13);
getDiagramEditPart().getViewer().flush();
createNodeByTool(myPortTool, 201, 101);
IGraphicalEditPart editPart14 = editPart13.getChildBySemanticHint(UMLVisualIDRegistry.getType(Port3EditPart.VISUAL_ID));
assertNotNull(editPart14);
assertEquals("Port", getMetaclassName(editPart14));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testCollaborationUseInCollaboration() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool7;
tool7 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.Collaboration_2005")));
createNodeByTool(tool7, 200, 100);
IGraphicalEditPart editPart15 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(CollaborationEditPart.VISUAL_ID));
assertNotNull(editPart15);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment6 = editPart15.getChildBySemanticHint(UMLVisualIDRegistry.getType(CollaborationContentsEditPart.VISUAL_ID));
assertNotNull(compartment6);
createNodeByTool(myCollaborationUseTool, 275, 130);
IGraphicalEditPart editPart16 = compartment6.getChildBySemanticHint(UMLVisualIDRegistry.getType(CollaborationUse2EditPart.VISUAL_ID));
assertNotNull(editPart16);
assertEquals("CollaborationUse", getMetaclassName(editPart16));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testSlotInInstanceSpecification() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool8;
tool8 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.InstanceSpecification_2011")));
createNodeByTool(tool8, 200, 100);
IGraphicalEditPart editPart17 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(InstanceSpecificationEditPart.VISUAL_ID));
assertNotNull(editPart17);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment7 = editPart17.getChildBySemanticHint(UMLVisualIDRegistry.getType(InstanceSpecificationSlotsEditPart.VISUAL_ID));
assertNotNull(compartment7);
createNodeByTool(mySlotTool, 201, 101);
IGraphicalEditPart editPart18 = compartment7.getChildBySemanticHint(UMLVisualIDRegistry.getType(SlotEditPart.VISUAL_ID));
assertNotNull(editPart18);
assertEquals("Slot", getMetaclassName(editPart18));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
private static java.lang.String getMetaclassName(IGraphicalEditPart editPart) {
return editPart.getNotationView().getElement().eClass().getName();
}
}