From 544ef15e879f02a2427046dfb286f4ce855031f8 Mon Sep 17 00:00:00 2001 From: dblouin <dominique.blouin@telecom-paristech.fr> Date: Wed, 29 Aug 2018 16:34:34 +0200 Subject: [PATCH] Issue #81: Added automated tests --- src/main/java/ui/TDiagramPanel.java | 17 +- ttool/src/test/java/ui/TestTDiagramPanel.java | 149 ++++++++++++------ 2 files changed, 112 insertions(+), 54 deletions(-) diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java index 4edb760bec..5c491bd2d7 100755 --- a/src/main/java/ui/TDiagramPanel.java +++ b/src/main/java/ui/TDiagramPanel.java @@ -243,7 +243,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public boolean drawable = true; - public static final int MOVE_SPEED = 1; //Speed of component moving with arrow keys + protected static final int MOVE_SPEED = 1; //Speed of component moving with arrow keys // Constructor @@ -379,6 +379,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { return name; } + @Override public String toString() { return name; } @@ -387,7 +388,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { this.componentList = new LinkedList<>(); } - public void setInternalCommentVisible(int mode) { internalCommentVisible = mode; } @@ -425,7 +425,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { mgui.selectTab(tp, name); } - @Override protected void paintComponent(Graphics g) { paintMycomponents(g); @@ -435,7 +434,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { paintMycomponents(g, true, 1, 1); } - public void basicPaintMyComponents(Graphics g) { + protected void basicPaintMyComponents(Graphics g) { TGComponent tgc; for (int i = componentList.size() - 1; i >= 0; i--) { tgc = this.componentList.get(i); @@ -455,7 +454,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { return; } - if (this.fontToUse == null) this.fontToUse = g.getFont(); else @@ -684,7 +682,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { return sb; } - public void activateActions(boolean b) { ttb.setActive(b); } @@ -722,7 +719,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { boolean hoveredElementFound = false; byte info = 0; - TGComponent tmp = componentHovered; componentHovered = null; @@ -769,7 +765,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { boolean pointedElementFound = false; byte info = 0; - TGComponent tmp = componentPointed; componentPointed = null; this.setToolTipText(null); @@ -1277,15 +1272,17 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { int oldY = ySel; xSel = x; ySel = y; - for (TGComponent tgc : this.componentList) + + for (TGComponent tgc : this.componentList) { if (tgc.isSelected()) { if ((xSel - oldX != 0) || (ySel - oldY != 0)) { /*TraceManager.addDev("" + tgc + " is selected oldX=" + xSel + " oldY=" + oldY + " xSel=" + xSel + " ySel=" + ySel);*/ } + tgc.forceMove(xSel - oldX, ySel - oldY); - } + } } public TGComponent nextSelectedComponent() { diff --git a/ttool/src/test/java/ui/TestTDiagramPanel.java b/ttool/src/test/java/ui/TestTDiagramPanel.java index 3e30042828..970c55a482 100644 --- a/ttool/src/test/java/ui/TestTDiagramPanel.java +++ b/ttool/src/test/java/ui/TestTDiagramPanel.java @@ -2,65 +2,126 @@ package ui; import static org.junit.Assert.assertTrue; +import java.awt.Point; + import org.junit.Before; import org.junit.Test; -import ui.tmldd.TMLArchiBUSNode; +import ui.avatarad.AvatarADStopState; +import ui.tmlcompd.TMLCCompositeComponent; import ui.tmldd.TMLArchiDiagramPanel; import ui.tmldd.TMLArchiDiagramToolBar; public class TestTDiagramPanel extends AbstractUITest { static TDiagramPanel diagramPanel; - static TGCWithInternalComponent component; - + static TGCScalableWithoutInternalComponent atomicComponent; + static TGCScalableWithInternalComponent compositeComponent; + public TestTDiagramPanel() { super(); } - + @Before - public void setUp() throws Exception { -// mgui = new MainGUI(false, false, false, false, false, false, false, false, false, false, false, true); -// mgui.build(); - //PluginManager.pluginManager = new PluginManager(); + public void setUp() throws Exception { final TToolBar toolBar = new TMLArchiDiagramToolBar( mainGUI ); - diagramPanel = new TMLArchiDiagramPanel( mainGUI, toolBar ); - component = new TMLArchiBUSNode( 500, 500, 0, 1400, 0, 1900, true, null, diagramPanel ); - diagramPanel.setComponentPointed(null); - } - + diagramPanel = new TMLArchiDiagramPanel( mainGUI, toolBar ); + atomicComponent = new AvatarADStopState( 500, 500, 0, 1400, 0, 1900, true, null, diagramPanel ); + diagramPanel.addBuiltComponent( atomicComponent ); + + compositeComponent = new TMLCCompositeComponent( 500, 500, 0, 1400, 0, 1900, true, null, diagramPanel ); + diagramPanel.addBuiltComponent( compositeComponent ); + + diagramPanel.setComponentPointed(null); + } + @Test - public void testMoveUp() { - diagramPanel.upComponent(); - diagramPanel.setComponentPointed(component); - diagramPanel.upComponent(); - assertTrue(component.getY() == 499); - assertTrue(component.getX() == 500); - } - + public void testMoveUp() { + final Point expectedPos = new Point( atomicComponent.getX(), atomicComponent.getY() - TDiagramPanel.MOVE_SPEED ); + + diagramPanel.upComponent(); + diagramPanel.setComponentPointed(atomicComponent); + diagramPanel.upComponent(); + + checkResults( expectedPos, atomicComponent ); +// assertTrue(atomicComponent.getY() == 499); +// assertTrue(atomicComponent.getX() == 500); + } + @Test - public void testMoveDown() { - diagramPanel.downComponent(); - diagramPanel.setComponentPointed(component); - diagramPanel.downComponent(); - assertTrue(component.getY() == 501); - assertTrue(component.getX() == 500); - } - + public void testMoveDown() { + final Point expectedPos = new Point( atomicComponent.getX(), atomicComponent.getY() + TDiagramPanel.MOVE_SPEED ); + + diagramPanel.downComponent(); + diagramPanel.setComponentPointed(atomicComponent); + diagramPanel.downComponent(); + + checkResults( expectedPos, atomicComponent ); +// assertTrue(atomicComponent.getY() == 501); +// assertTrue(atomicComponent.getX() == 500); + } + @Test - public void testMoveRight() { - diagramPanel.rightComponent(); - diagramPanel.setComponentPointed(component); - diagramPanel.rightComponent(); - assertTrue(component.getX() == 501); - assertTrue(component.getY() == 500); - } - + public void testMoveRight() { + final Point expectedPos = new Point( atomicComponent.getX() + TDiagramPanel.MOVE_SPEED, atomicComponent.getY() ); + + diagramPanel.rightComponent(); + diagramPanel.setComponentPointed(atomicComponent); + diagramPanel.rightComponent(); + + checkResults( expectedPos, atomicComponent ); +// assertTrue(atomicComponent.getX() == 501); +// assertTrue(atomicComponent.getY() == 500); + } + @Test - public void testMoveLeft() { - diagramPanel.leftComponent(); - diagramPanel.setComponentPointed(component); - diagramPanel.leftComponent(); - assertTrue(component.getX() == 499); - assertTrue(component.getY() == 500); - } + public void testMoveLeft() { + final Point expectedPos = new Point( atomicComponent.getX() - TDiagramPanel.MOVE_SPEED, atomicComponent.getY() ); + + diagramPanel.leftComponent(); + diagramPanel.setComponentPointed(atomicComponent); + diagramPanel.leftComponent(); + + checkResults( expectedPos, atomicComponent ); + +// assertTrue(atomicComponent.getX() == 499); +// assertTrue(atomicComponent.getY() == 500); + } + + /** + * Issue #81 + */ + @Test + public void testMoveAtomicComponentAfterZoom() { + diagramPanel.setZoom( 3.0 ); + + diagramPanel.setComponentPointed( atomicComponent ); + + final Point expectedPos = new Point( atomicComponent.getX() + TDiagramPanel.MOVE_SPEED, atomicComponent.getY() ); + + diagramPanel.rightComponent(); + + checkResults( expectedPos, atomicComponent ); + } + + /** + * Issue #81 + */ + @Test + public void testMoveCompositeComponentAfterZoom() { + diagramPanel.setZoom( 3.0 ); + + diagramPanel.setComponentPointed( compositeComponent ); + + final Point expectedPos = new Point( compositeComponent.getX() + TDiagramPanel.MOVE_SPEED, compositeComponent.getY() ); + + diagramPanel.rightComponent(); + + checkResults( expectedPos, compositeComponent ); + } + + private void checkResults( final Point expectedPos, + final TGComponent component ) { + assertTrue( "X position is " + component.getX() + " instead of " + expectedPos.x + ".", component.getX() == expectedPos.x ); + assertTrue( "Y position is " + component.getY() + " instead of " + expectedPos.y + ".", component.getY() == expectedPos.y ); + } } -- GitLab