package org.eclipse.uml2.diagram.clazz.tests.tool;
import org.eclipse.draw2d.geometry.Rectangle;
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.emf.type.core.ElementTypeRegistry;
import org.eclipse.uml2.diagram.clazz.edit.parts.Enumeration2EditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.Enumeration3EditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.EnumerationEditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.Package2EditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.PackageAsFrameContentsEditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.PackageAsFrameEditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.PackageClassifiersEditPart;
import org.eclipse.uml2.diagram.clazz.part.UMLPaletteFactory;
import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry;
public class PaletteEnumerationNodeTest extends ClassDiagramCreationToolTest {
PaletteRoot myRoot = new PaletteRoot();
@Override
protected void setUp() throws Exception {
super.setUp();
new UMLPaletteFactory().fillPalette(myRoot);
}
public PaletteEnumerationNodeTest(String name) {
super(name);
}
/**
* @generated
*/
public void testEnumerationOnDiagram() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
ToolEntry tool17 = (ToolEntry) ((PaletteContainer) myRoot.getChildren().get(0)).getChildren().get(2);
createNodeByTool(tool17.createTool(), 200, 100);
IGraphicalEditPart editPart22 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(Enumeration2EditPart.VISUAL_ID));
assertNotNull(editPart22);
assertEquals("Enumeration", getMetaclassName(editPart22));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testEnumerationInFramePackage() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
createNodeByTool(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.clazz.Package_2016"), 200, 100);
IGraphicalEditPart editPart23 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(PackageAsFrameEditPart.VISUAL_ID));
assertNotNull(editPart23);
assertEquals("Package", getMetaclassName(editPart23));
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment9 = editPart23.getChildBySemanticHint(UMLVisualIDRegistry.getType(PackageAsFrameContentsEditPart.VISUAL_ID));
assertNotNull(compartment9);
ToolEntry tool18 = (ToolEntry) ((PaletteContainer) myRoot.getChildren().get(0)).getChildren().get(2);
//its impossible to create at (200, 100) -- see #249665
Rectangle bounds = editPart23.getFigure().getBounds();
createNodeByTool(tool18.createTool(), bounds.getCenter().x, bounds.getCenter().y);
IGraphicalEditPart editPart24 = compartment9.getChildBySemanticHint(UMLVisualIDRegistry.getType(Enumeration3EditPart.VISUAL_ID));
assertNotNull(editPart24);
assertEquals("Enumeration", getMetaclassName(editPart24));
getDiagramEditPart().getViewer().flush();
}
/**
* @generated
*/
public void testEnumerationInPackage() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
createNodeByTool(ElementTypeRegistry.getInstance().getType("org.eclipse.uml2.diagram.clazz.Package_2002"), 200, 100);
IGraphicalEditPart editPart25 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(Package2EditPart.VISUAL_ID));
assertNotNull(editPart25);
assertEquals("Package", getMetaclassName(editPart25));
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment10 = editPart25.getChildBySemanticHint(UMLVisualIDRegistry.getType(PackageClassifiersEditPart.VISUAL_ID));
assertNotNull(compartment10);
ToolEntry tool19 = (ToolEntry) ((PaletteContainer) myRoot.getChildren().get(0)).getChildren().get(2);
createNodeByTool(tool19.createTool(), 200, 100);
IGraphicalEditPart editPart26 = compartment10.getChildBySemanticHint(UMLVisualIDRegistry.getType(EnumerationEditPart.VISUAL_ID));
assertNotNull(editPart26);
assertEquals("Enumeration", getMetaclassName(editPart26));
getDiagramEditPart().getViewer().flush();
}
private static java.lang.String getMetaclassName(IGraphicalEditPart editPart) {
return editPart.getNotationView().getElement().eClass().getName();
}
}