package org.eclipse.uml2.diagram.clazz.tests.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.uml2.diagram.clazz.edit.parts.Class2EditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.ClassOperationsEditPart;
import org.eclipse.uml2.diagram.clazz.edit.parts.OperationEditPart;
import org.eclipse.uml2.diagram.clazz.part.UMLPaletteFactory;
import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry;
public class PaletteOperationNodeTest extends ClassDiagramCreationToolTest {
PaletteRoot myRoot = new PaletteRoot();
@Override
protected void setUp() throws Exception {
super.setUp();
new UMLPaletteFactory().fillPalette(myRoot);
}
public PaletteOperationNodeTest(String name) {
super(name);
}
/**
* @generated
*/
public void testOperationInClass() {
IGraphicalEditPart diagramEditPart = getDiagramEditPart();
ToolEntry tool4 = (ToolEntry) ((PaletteContainer) myRoot.getChildren().get(0)).getChildren().get(0);
createNodeByTool(tool4.createTool(), 200, 100);
IGraphicalEditPart editPart5 = diagramEditPart.getChildBySemanticHint(UMLVisualIDRegistry.getType(Class2EditPart.VISUAL_ID));
assertNotNull(editPart5);
assertEquals("Class", getMetaclassName(editPart5));
getDiagramEditPart().getViewer().flush();
IGraphicalEditPart compartment3 = editPart5.getChildBySemanticHint(UMLVisualIDRegistry.getType(ClassOperationsEditPart.VISUAL_ID));
assertNotNull(compartment3);
ToolEntry tool5 = (ToolEntry) ((PaletteContainer) myRoot.getChildren().get(1)).getChildren().get(1);
createNodeByTool(tool5.createTool(), 200, 100);
IGraphicalEditPart editPart6 = compartment3.getChildBySemanticHint(UMLVisualIDRegistry.getType(OperationEditPart.VISUAL_ID));
assertNotNull(editPart6);
assertEquals("Operation", getMetaclassName(editPart6));
getDiagramEditPart().getViewer().flush();
}
private static java.lang.String getMetaclassName(IGraphicalEditPart editPart) {
return editPart.getNotationView().getElement().eClass().getName();
}
}