| /******************************************************************************* |
| * <copyright> |
| * |
| * Copyright (c) 2005, 2010 SAP AG. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * SAP AG - initial API, implementation and documentation |
| * mwenz - Bug 331715: Support for rectangular grids in diagrams |
| * |
| * </copyright> |
| * |
| *******************************************************************************/ |
| package org.eclipse.graphiti.tests.cases; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertFalse; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertNull; |
| |
| import java.util.List; |
| |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.ecore.resource.impl.ResourceImpl; |
| import org.eclipse.graphiti.mm.algorithms.Ellipse; |
| import org.eclipse.graphiti.mm.algorithms.Image; |
| import org.eclipse.graphiti.mm.algorithms.MultiText; |
| import org.eclipse.graphiti.mm.algorithms.PlatformGraphicsAlgorithm; |
| import org.eclipse.graphiti.mm.algorithms.Polygon; |
| import org.eclipse.graphiti.mm.algorithms.Polyline; |
| import org.eclipse.graphiti.mm.algorithms.Rectangle; |
| import org.eclipse.graphiti.mm.algorithms.RoundedRectangle; |
| import org.eclipse.graphiti.mm.algorithms.Text; |
| import org.eclipse.graphiti.mm.algorithms.styles.Point; |
| import org.eclipse.graphiti.mm.algorithms.styles.Style; |
| import org.eclipse.graphiti.mm.pictograms.Diagram; |
| import org.eclipse.graphiti.mm.pictograms.Shape; |
| import org.eclipse.graphiti.services.Graphiti; |
| import org.eclipse.graphiti.services.ICreateService; |
| import org.eclipse.graphiti.tests.GFAbstractCreateTestCase; |
| import org.junit.Before; |
| import org.junit.BeforeClass; |
| import org.junit.Test; |
| |
| public class CreateServiceTest extends GFAbstractCreateTestCase { |
| |
| public static ICreateService crs = Graphiti.getCreateService(); |
| private Diagram d; |
| private Shape s1; |
| |
| @BeforeClass |
| public static void prepareClass() { |
| } |
| |
| @Before |
| public void initializeTest() { |
| d = Graphiti.getPeCreateService().createDiagram("tutorial", "test", true); |
| assertNotNull(d); |
| s1 = Graphiti.getPeCreateService().createShape(d, true); |
| s1.setGraphicsAlgorithm(Graphiti.getGaCreateService().createRectangle(d)); |
| assertNotNull(s1); |
| ResourceImpl resource = new ResourceImpl(); |
| resource.getContents().add(d); |
| } |
| |
| @Test |
| public void createDefaultMultiText() { |
| MultiText multiText = crs.createDefaultMultiText(d, s1); |
| assertNotNull(multiText); |
| assertEquals(DEFAULT_FONT, multiText.getFont().getName()); |
| checkTextDefaults(multiText, ""); |
| } |
| |
| @Test |
| public void createDefaultMultiText2() { |
| MultiText multiText = crs.createDefaultMultiText(d, s1, VALUE); |
| assertNotNull(multiText); |
| assertEquals(DEFAULT_FONT, multiText.getFont().getName()); |
| checkTextDefaults(multiText, VALUE); |
| } |
| |
| @Test |
| public void createDefaultText() { |
| Text text = crs.createDefaultText(d, s1); |
| assertNotNull(text); |
| assertEquals(DEFAULT_FONT, text.getFont().getName()); |
| checkTextDefaults(text, ""); |
| } |
| |
| @Test |
| public void createDefaultText2() { |
| Text text = crs.createDefaultText(d, s1, VALUE); |
| assertNotNull(text); |
| assertEquals(DEFAULT_FONT, text.getFont().getName()); |
| checkTextDefaults(text, VALUE); |
| } |
| |
| @Test |
| public void createEllipse() { |
| Ellipse ellipse = crs.createEllipse(s1); |
| assertNotNull(ellipse); |
| checkGraphicsAlgorithmDefaults(ellipse); |
| } |
| |
| |
| @Test |
| public void createImage() { |
| Image im = crs.createImage(d, VALUE); |
| checkGraphicsAlgorithmDefaults(im); |
| checkImageDefaults(im); |
| } |
| |
| @Test |
| public void createInvisibleRectangle() { |
| Rectangle invisibleRect = crs.createInvisibleRectangle(s1); |
| assertFalse(invisibleRect.getLineVisible()); |
| } |
| |
| @Test |
| public void createMultiText() { |
| MultiText multiText = crs.createMultiText(s1); |
| assertNotNull(multiText); |
| assertNull(multiText.getFont()); |
| checkTextDefaults(multiText, ""); |
| } |
| |
| @Test |
| public void createMultiText2() { |
| MultiText multiText = crs.createMultiText(s1, VALUE); |
| assertNotNull(multiText); |
| assertNull(multiText.getFont()); |
| checkTextDefaults(multiText, VALUE); |
| } |
| |
| @Test |
| public void createPlatformGa() { |
| PlatformGraphicsAlgorithm pGa = crs.createPlatformGraphicsAlgorithm(s1, VALUE); |
| assertEquals(s1, pGa.eContainer()); |
| assertEquals(VALUE, pGa.getId()); |
| } |
| |
| @Test |
| public void createPoint() { |
| Point point = crs.createPoint(0, 1); |
| assertEquals(0, point.getX()); |
| assertEquals(1, point.getY()); |
| point = crs.createPoint(1, 0, 2, 3); |
| assertEquals(1, point.getX()); |
| assertEquals(0, point.getY()); |
| assertEquals(2, point.getBefore()); |
| assertEquals(3, point.getAfter()); |
| } |
| |
| @Test |
| public void createPointList() { |
| List<Point> points = crs.createPointList(new int[] { 1, 2, 3, 4 }); |
| Point p1 = points.get(0); |
| assertEquals(1, p1.getX()); |
| assertEquals(2, p1.getY()); |
| Point p2 = points.get(1); |
| assertEquals(3, p2.getX()); |
| assertEquals(4, p2.getY()); |
| } |
| |
| @Test |
| public void createPointList2() { |
| List<Point> points = crs.createPointList(new int[] { 1, 2, 3, 4 }, new int[] { 5, 6, 7, 8 }); |
| Point p1 = points.get(0); |
| assertEquals(1, p1.getX()); |
| assertEquals(2, p1.getY()); |
| assertEquals(5, p1.getBefore()); |
| assertEquals(6, p1.getAfter()); |
| Point p2 = points.get(1); |
| assertEquals(3, p2.getX()); |
| assertEquals(4, p2.getY()); |
| assertEquals(7, p2.getBefore()); |
| assertEquals(8, p2.getAfter()); |
| } |
| |
| @Test |
| public void createPolygon() { |
| Polygon polygon = crs.createPolygon(s1); |
| assertEquals(polygon, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polygon); |
| } |
| |
| @Test |
| public void createPolygon2() { |
| List<Point> points = crs.createPointList(new int[] { 1, 2, 3, 4 }); |
| Polygon polygon = crs.createPolygon(s1, points); |
| assertEquals(polygon, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polygon); |
| EList<Point> points2 = polygon.getPoints(); |
| assertEquals(points, points2); |
| } |
| |
| @Test |
| public void createPolygon3() { |
| int[] points = new int[] { 1, 2, 3, 4 }; |
| Polygon polygon = crs.createPolygon(s1, points); |
| assertEquals(polygon, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polygon); |
| EList<Point> points2 = polygon.getPoints(); |
| assertEquals(1, points2.get(0).getX()); |
| assertEquals(2, points2.get(0).getY()); |
| assertEquals(3, points2.get(1).getX()); |
| assertEquals(4, points2.get(1).getY()); |
| int[] beforeAfter = new int[] { 5, 6, 7, 8 }; |
| polygon = crs.createPolygon(s1, points, beforeAfter); |
| checkGraphicsAlgorithmDefaults(polygon); |
| points2 = polygon.getPoints(); |
| assertEquals(1, points2.get(0).getX()); |
| assertEquals(2, points2.get(0).getY()); |
| assertEquals(3, points2.get(1).getX()); |
| assertEquals(4, points2.get(1).getY()); |
| assertEquals(5, points2.get(0).getBefore()); |
| assertEquals(6, points2.get(0).getAfter()); |
| assertEquals(7, points2.get(1).getBefore()); |
| assertEquals(8, points2.get(1).getAfter()); |
| } |
| |
| @Test |
| public void createPolyline() { |
| Polyline polyline = crs.createPolyline(s1); |
| assertEquals(polyline, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polyline); |
| } |
| |
| @Test |
| public void createPolyline2() { |
| List<Point> points = crs.createPointList(new int[] { 1, 2, 3, 4 }); |
| Polyline polyline = crs.createPolyline(s1, points); |
| assertEquals(polyline, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polyline); |
| EList<Point> points2 = polyline.getPoints(); |
| assertEquals(points, points2); |
| } |
| |
| @Test |
| public void createPolyline3() { |
| int[] points = new int[] { 1, 2, 3, 4 }; |
| Polyline polyline = crs.createPolyline(s1, points); |
| assertEquals(polyline, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(polyline); |
| EList<Point> points2 = polyline.getPoints(); |
| assertEquals(1, points2.get(0).getX()); |
| assertEquals(2, points2.get(0).getY()); |
| assertEquals(3, points2.get(1).getX()); |
| assertEquals(4, points2.get(1).getY()); |
| int[] beforeAfter = new int[] { 5, 6, 7, 8 }; |
| polyline = crs.createPolyline(s1, points, beforeAfter); |
| checkGraphicsAlgorithmDefaults(polyline); |
| points2 = polyline.getPoints(); |
| assertEquals(1, points2.get(0).getX()); |
| assertEquals(2, points2.get(0).getY()); |
| assertEquals(3, points2.get(1).getX()); |
| assertEquals(4, points2.get(1).getY()); |
| assertEquals(5, points2.get(0).getBefore()); |
| assertEquals(6, points2.get(0).getAfter()); |
| assertEquals(7, points2.get(1).getBefore()); |
| assertEquals(8, points2.get(1).getAfter()); |
| } |
| |
| @Test |
| public void createRectangle() { |
| Rectangle rect = crs.createRectangle(s1); |
| assertEquals(rect, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(rect); |
| } |
| |
| @Test |
| public void createRoundedRectangle() { |
| RoundedRectangle rect = crs.createRoundedRectangle(s1, 5, 6); |
| assertEquals(rect, s1.getGraphicsAlgorithm()); |
| checkGraphicsAlgorithmDefaults(rect); |
| assertEquals(5, rect.getCornerWidth()); |
| assertEquals(6, rect.getCornerHeight()); |
| } |
| |
| @Test |
| public void createStyle() { |
| Style style = crs.createStyle(d, VALUE); |
| assertEquals(VALUE, style.getId()); |
| assertEquals(1, d.getStyles().size()); |
| } |
| |
| @Test |
| public void createDiagram() { |
| Diagram d0 = Graphiti.getCreateService().createDiagram("tutorial", "D0", 0, true); |
| assertNotNull(d0); |
| assertEquals("gridUnit must be 0, was: " + d0.getGridUnit(), 0, d0.getGridUnit()); |
| assertEquals("verticalGridUnit must be -1, was: " + d0.getGridUnit(), -1, d0.getVerticalGridUnit()); |
| |
| Diagram d1 = Graphiti.getCreateService().createDiagram("tutorial", "D1", true); |
| assertNotNull(d1); |
| assertEquals("gridUnit must be 10 when not set explicitly, was: " + d1.getGridUnit(), 10, d1.getGridUnit()); |
| assertEquals("verticalGridUnit must be -1 when not set explicitly set, was: " + d1.getGridUnit(), -1, d1.getVerticalGridUnit()); |
| |
| Diagram d2 = Graphiti.getCreateService().createDiagram("tutorial", "D2", 20, true); |
| assertNotNull(d2); |
| assertEquals("gridUnit must be set, was: " + d2.getGridUnit(), 20, d2.getGridUnit()); |
| assertEquals("verticalGridUnit must be -1 when not set explicitly set, was: " + d2.getVerticalGridUnit(), -1, |
| d2.getVerticalGridUnit()); |
| |
| Diagram d3 = Graphiti.getCreateService().createDiagram("tutorial", "D3", 20, 10, true); |
| assertNotNull(d3); |
| assertEquals("gridUnit must be set, was: " + d3.getGridUnit(), 20, d3.getGridUnit()); |
| assertEquals("verticalGridUnit must be set, was: " + d3.getVerticalGridUnit(), 10, d3.getVerticalGridUnit()); |
| } |
| |
| } |