blob: 84914344637f6d24834e1b0070d69dfc9f9e0649 [file] [log] [blame]
package org.eclipse.uml2.diagram.usecase.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.usecase.edit.parts.DiagramHeaderEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.ElementImportEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.ExtensionPoint2EditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.ExtensionPointEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.PackageImportsEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.UseCaseAsClassEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.UseCaseAsClassExtensionPointsEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.UseCaseEditPart;
import org.eclipse.uml2.diagram.usecase.edit.parts.UseCaseExtensionPointsEditPart;
import org.eclipse.uml2.diagram.usecase.part.UMLPaletteFactory;
import org.eclipse.uml2.diagram.usecase.part.UMLVisualIDRegistry;
public class ChildrenGroupTest extends UseCaseCreationToolTestBase {
/**
* @generated
*/
PaletteRoot myRoot;
/**
* @generated
*/
Tool myExtensionPointTool;
/**
* @generated
*/
Tool myElementImportTool;
/**
* @generated
*/
@Override
protected void setUp() throws Exception {
super.setUp();
myRoot = new PaletteRoot();
new UMLPaletteFactory().fillPalette(myRoot);
myExtensionPointTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(0)).createTool();
myElementImportTool = ((ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(1)).createTool();
}
/**
* @generated
*/
@Override
protected void tearDown() throws Exception {
myRoot = null;
myExtensionPointTool = null;
myElementImportTool = null;
super.tearDown();
}
/**
* @generated
*/
public ChildrenGroupTest(String name) {
super(name);
}
/**
* @generated
*/
public void testElementImport() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
IGraphicalEditPart editPart1 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(DiagramHeaderEditPart.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 testExtPointInUseCase() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool1;
tool1 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.UseCase_2003")));
createNodeByTool(tool1, 200, 100);
IGraphicalEditPart editPart3 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(UseCaseEditPart.VISUAL_ID));
assertNotNull(editPart3);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment2 = editPart3.getChildBySemanticHint(UMLVisualIDRegistry.getType(UseCaseExtensionPointsEditPart.VISUAL_ID));
assertNotNull(compartment2);
createNodeByTool(myExtensionPointTool, 200, 100);
IGraphicalEditPart editPart4 = compartment2.getChildBySemanticHint(UMLVisualIDRegistry.getType(ExtensionPointEditPart.VISUAL_ID));
assertNotNull(editPart4);
assertEquals("ExtensionPoint", getMetaclassName(editPart4));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testExtPointInUseCaseAsClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
Tool tool2;
tool2 = new UnspecifiedTypeCreationTool(Collections.singletonList(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.usecase.UseCase_2004")));
createNodeByTool(tool2, 200, 100);
IGraphicalEditPart editPart5 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(UseCaseAsClassEditPart.VISUAL_ID));
assertNotNull(editPart5);
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment3 = editPart5.getChildBySemanticHint(UMLVisualIDRegistry.getType(UseCaseAsClassExtensionPointsEditPart.VISUAL_ID));
assertNotNull(compartment3);
createNodeByTool(myExtensionPointTool, 200, 100);
IGraphicalEditPart editPart6 = compartment3.getChildBySemanticHint(UMLVisualIDRegistry.getType(ExtensionPoint2EditPart.VISUAL_ID));
assertNotNull(editPart6);
assertEquals("ExtensionPoint", getMetaclassName(editPart6));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
private static java.lang.String getMetaclassName(IGraphicalEditPart editPart) {
return editPart.getNotationView().getElement().eClass().getName();
}
}