--- old/modules/graphics/src/test/java/javafx/scene/input/MouseEventTest.java 2015-09-11 21:27:24.553284965 -0400 +++ /dev/null 2015-09-11 11:06:08.592686920 -0400 @@ -1,352 +0,0 @@ -/* - * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package javafx.scene.input; - -import javafx.event.Event; -import javafx.geometry.Point3D; -import javafx.scene.Node; -import javafx.scene.shape.Rectangle; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -public class MouseEventTest { - - private final Node node1 = new TestNode(5); - private final Node node2 = new TestNode(10); - private final MouseEvent doubleclick = new MouseEvent( - MouseEvent.MOUSE_CLICKED, - 11, 12, 13, 14, MouseButton.PRIMARY, 2, - true, false, true, false, false, true, false, false, true, false, null); - - @Test public void testShortConstructor() { - Rectangle node = new Rectangle(); - node.setTranslateX(3); - node.setTranslateY(2); - node.setTranslateZ(50); - - PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); - - MouseEvent e = new MouseEvent(MouseEvent.MOUSE_DRAGGED, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - true, false, false, true, - false, true, false, - true, false, true, pickRes); - - assertSame(MouseEvent.MOUSE_DRAGGED, e.getEventType()); - assertEquals(18, e.getX(), 10e-20); - assertEquals(27, e.getY(), 10e-20); - assertEquals(150, e.getZ(), 10e-20); - assertEquals(10, e.getSceneX(), 10e-20); - assertEquals(20, e.getSceneY(), 10e-20); - assertEquals(30, e.getScreenX(), 10e-20); - assertEquals(40, e.getScreenY(), 10e-20); - assertSame(MouseButton.MIDDLE, e.getButton()); - assertEquals(3, e.getClickCount()); - assertTrue(e.isShiftDown()); - assertFalse(e.isControlDown()); - assertFalse(e.isAltDown()); - assertTrue(e.isMetaDown()); - assertFalse(e.isPrimaryButtonDown()); - assertTrue(e.isMiddleButtonDown()); - assertFalse(e.isSecondaryButtonDown()); - assertTrue(e.isSynthesized()); - assertFalse(e.isPopupTrigger()); - assertTrue(e.isStillSincePress()); - assertFalse(e.isConsumed()); - assertSame(pickRes, e.getPickResult()); - assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); - assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); - - e = new MouseEvent(MouseEvent.MOUSE_DRAGGED, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - false, true, true, false, - true, false, true, - false, true, false, pickRes); - - assertFalse(e.isShiftDown()); - assertTrue(e.isControlDown()); - assertTrue(e.isAltDown()); - assertFalse(e.isMetaDown()); - assertTrue(e.isPrimaryButtonDown()); - assertFalse(e.isMiddleButtonDown()); - assertTrue(e.isSecondaryButtonDown()); - assertFalse(e.isSynthesized()); - assertTrue(e.isPopupTrigger()); - assertFalse(e.isStillSincePress()); - } - - @Test public void testShortConstructorWithoutPickResult() { - MouseDragEvent e = new MouseDragEvent(MouseDragEvent.MOUSE_DRAG_OVER, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - true, false, false, true, - false, true, false, - true, false, null, new Rectangle()); - assertEquals(10, e.getX(), 10e-20); - assertEquals(20, e.getY(), 10e-20); - assertEquals(0, e.getZ(), 10e-20); - assertEquals(10, e.getSceneX(), 10e-20); - assertEquals(20, e.getSceneY(), 10e-20); - assertEquals(30, e.getScreenX(), 10e-20); - assertEquals(40, e.getScreenY(), 10e-20); - assertNotNull(e.getPickResult()); - assertNotNull(e.getPickResult().getIntersectedPoint()); - assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); - assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); - assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); - assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); - assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); - } - - @Test public void testLongConstructor() { - Rectangle n1 = new Rectangle(10, 10); - Rectangle n2 = new Rectangle(10, 10); - Rectangle node = new Rectangle(); - node.setTranslateX(3); - node.setTranslateY(2); - node.setTranslateZ(50); - - PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); - - MouseEvent e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - true, false, false, true, - false, true, false, - true, false, true, pickRes); - - assertSame(n1, e.getSource()); - assertSame(n2, e.getTarget()); - assertSame(MouseEvent.MOUSE_DRAGGED, e.getEventType()); - assertEquals(18, e.getX(), 10e-20); - assertEquals(27, e.getY(), 10e-20); - assertEquals(150, e.getZ(), 10e-20); - assertEquals(10, e.getSceneX(), 10e-20); - assertEquals(20, e.getSceneY(), 10e-20); - assertEquals(30, e.getScreenX(), 10e-20); - assertEquals(40, e.getScreenY(), 10e-20); - assertSame(MouseButton.MIDDLE, e.getButton()); - assertEquals(3, e.getClickCount()); - assertTrue(e.isShiftDown()); - assertFalse(e.isControlDown()); - assertFalse(e.isAltDown()); - assertTrue(e.isMetaDown()); - assertFalse(e.isPrimaryButtonDown()); - assertTrue(e.isMiddleButtonDown()); - assertFalse(e.isSecondaryButtonDown()); - assertTrue(e.isSynthesized()); - assertFalse(e.isPopupTrigger()); - assertTrue(e.isStillSincePress()); - assertFalse(e.isConsumed()); - assertSame(pickRes, e.getPickResult()); - - e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - false, true, true, false, - true, false, true, - false, true, false, pickRes); - - assertSame(n1, e.getSource()); - assertSame(n2, e.getTarget()); - assertFalse(e.isShiftDown()); - assertTrue(e.isControlDown()); - assertTrue(e.isAltDown()); - assertFalse(e.isMetaDown()); - assertTrue(e.isPrimaryButtonDown()); - assertFalse(e.isMiddleButtonDown()); - assertTrue(e.isSecondaryButtonDown()); - assertFalse(e.isSynthesized()); - assertTrue(e.isPopupTrigger()); - assertFalse(e.isStillSincePress()); - } - - - @Test public void testLongConstructorWithoutPickResult() { - Rectangle n1 = new Rectangle(10, 10); - Rectangle n2 = new Rectangle(10, 10); - MouseEvent e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, - 10, 20, 30, 40, MouseButton.MIDDLE, 3, - true, false, false, true, - false, true, false, - true, false, true, null); - assertSame(n1, e.getSource()); - assertSame(n2, e.getTarget()); - assertEquals(10, e.getX(), 10e-20); - assertEquals(20, e.getY(), 10e-20); - assertEquals(0, e.getZ(), 10e-20); - assertEquals(10, e.getSceneX(), 10e-20); - assertEquals(20, e.getSceneY(), 10e-20); - assertEquals(30, e.getScreenX(), 10e-20); - assertEquals(40, e.getScreenY(), 10e-20); - assertNotNull(e.getPickResult()); - assertNotNull(e.getPickResult().getIntersectedPoint()); - assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); - assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); - assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); - } - - @Test - public void shouldCreateDoubleClickMouseEvent() { - /* constructor called during initialization */ - assertEquals(11f, doubleclick.getX(), 0.0001); - assertEquals(12f, doubleclick.getY(), 0.0001); - assertEquals(11f, doubleclick.getSceneX(), 0.0001); - assertEquals(12f, doubleclick.getSceneY(), 0.0001); - assertEquals(13f, doubleclick.getScreenX(), 0.0001); - assertEquals(14f, doubleclick.getScreenY(), 0.0001); - assertSame(MouseButton.PRIMARY, doubleclick.getButton()); - assertEquals(2, doubleclick.getClickCount()); - assertTrue(doubleclick.isShiftDown()); - assertFalse(doubleclick.isControlDown()); - assertTrue(doubleclick.isAltDown()); - assertFalse(doubleclick.isMetaDown()); - assertTrue(doubleclick.isPopupTrigger()); - assertFalse(doubleclick.isPrimaryButtonDown()); - assertTrue(doubleclick.isMiddleButtonDown()); - assertFalse(doubleclick.isSecondaryButtonDown()); - assertSame(MouseEvent.MOUSE_CLICKED, doubleclick.getEventType()); - assertSame(MouseEvent.NULL_SOURCE_TARGET, doubleclick.getSource()); - } - - @Test - public void shouldCopyMouseEvent() { - MouseEvent copy = doubleclick.copyFor(node1, node2); - - assertEquals(6f, copy.getX(), 0.0001); - assertEquals(7f, copy.getY(), 0.0001); - assertEquals(11f, copy.getSceneX(), 0.0001); - assertEquals(12f, copy.getSceneY(), 0.0001); - assertEquals(13f, copy.getScreenX(), 0.0001); - assertEquals(14f, copy.getScreenY(), 0.0001); - assertSame(doubleclick.getButton(), copy.getButton()); - assertEquals(doubleclick.getClickCount(), copy.getClickCount()); - assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); - assertEquals(doubleclick.isControlDown(), copy.isControlDown()); - assertEquals(doubleclick.isAltDown(), copy.isAltDown()); - assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); - assertEquals(doubleclick.isPopupTrigger(), - copy.isPopupTrigger()); - assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); - assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); - assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); - assertSame(doubleclick.getEventType(), copy.getEventType()); - assertSame(node1, copy.getSource()); - assertSame(node2, copy.getTarget()); - } - - @Test - public void shouldCopyMouseEventWithEventId() { - MouseEvent copy = doubleclick.copyFor(node1, node2, - MouseEvent.MOUSE_ENTERED); - - assertEquals(6f, copy.getX(), 0.0001); - assertEquals(7f, copy.getY(), 0.0001); - assertEquals(11f, copy.getSceneX(), 0.0001); - assertEquals(12f, copy.getSceneY(), 0.0001); - assertEquals(13f, copy.getScreenX(), 0.0001); - assertEquals(14f, copy.getScreenY(), 0.0001); - assertSame(doubleclick.getButton(), copy.getButton()); - assertEquals(doubleclick.getClickCount(), copy.getClickCount()); - assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); - assertEquals(doubleclick.isControlDown(), copy.isControlDown()); - assertEquals(doubleclick.isAltDown(), copy.isAltDown()); - assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); - assertEquals(doubleclick.isPopupTrigger(), - copy.isPopupTrigger()); - assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); - assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); - assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); - assertSame(MouseEvent.MOUSE_ENTERED, copy.getEventType()); - assertSame(node1, copy.getSource()); - assertSame(node2, copy.getTarget()); - } - - @Test - public void shouldCopyMouseEventWithNode() { - MouseEvent temp = doubleclick.copyFor(node1, node2); - MouseEvent copy = temp.copyFor(node2, node1); - - assertEquals(1f, copy.getX(), 0.0001); - assertEquals(2f, copy.getY(), 0.0001); - assertEquals(11f, copy.getSceneX(), 0.0001); - assertEquals(12f, copy.getSceneY(), 0.0001); - assertEquals(13f, copy.getScreenX(), 0.0001); - assertEquals(14f, copy.getScreenY(), 0.0001); - assertSame(doubleclick.getButton(), copy.getButton()); - assertEquals(doubleclick.getClickCount(), copy.getClickCount()); - assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); - assertEquals(doubleclick.isControlDown(), copy.isControlDown()); - assertEquals(doubleclick.isAltDown(), copy.isAltDown()); - assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); - assertEquals(doubleclick.isPopupTrigger(), - copy.isPopupTrigger()); - assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); - assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); - assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); - assertSame(doubleclick.getEventType(), copy.getEventType()); - assertSame(node2, copy.getSource()); - assertSame(node1, copy.getTarget()); - } - - @Test - public void shouldCopyMouseEventWithDrag() { - MouseEvent copy = doubleclick.copyFor(node1, node2); - - assertEquals(6f, copy.getX(), 0.0001); - assertEquals(7f, copy.getY(), 0.0001); - assertEquals(11f, copy.getSceneX(), 0.0001); - assertEquals(12f, copy.getSceneY(), 0.0001); - assertEquals(13f, copy.getScreenX(), 0.0001); - assertEquals(14f, copy.getScreenY(), 0.0001); - assertSame(doubleclick.getButton(), copy.getButton()); - assertEquals(doubleclick.getClickCount(), copy.getClickCount()); - assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); - assertEquals(doubleclick.isControlDown(), copy.isControlDown()); - assertEquals(doubleclick.isAltDown(), copy.isAltDown()); - assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); - assertEquals(doubleclick.isPopupTrigger(), - copy.isPopupTrigger()); - assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); - assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); - assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); - assertSame(doubleclick.getEventType(), copy.getEventType()); - assertSame(node1, copy.getSource()); - assertSame(node2, copy.getTarget()); - } - - - @Test - public void shouldGetNonEmptyDescription() { - String s = doubleclick.toString(); - assertNotNull(s); - assertFalse(s.isEmpty()); - } - - -} --- /dev/null 2015-09-11 11:06:08.592686920 -0400 +++ new/modules/graphics/src/test/java/test/javafx/scene/input/MouseEventTest.java 2015-09-11 21:27:24.417284967 -0400 @@ -0,0 +1,356 @@ +/* + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package test.javafx.scene.input; + +import javafx.event.Event; +import javafx.geometry.Point3D; +import javafx.scene.Node; +import javafx.scene.input.MouseButton; +import javafx.scene.input.MouseDragEvent; +import javafx.scene.input.MouseEvent; +import javafx.scene.input.PickResult; +import javafx.scene.shape.Rectangle; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +public class MouseEventTest { + + private final Node node1 = new TestNode(5); + private final Node node2 = new TestNode(10); + private final MouseEvent doubleclick = new MouseEvent( + MouseEvent.MOUSE_CLICKED, + 11, 12, 13, 14, MouseButton.PRIMARY, 2, + true, false, true, false, false, true, false, false, true, false, null); + + @Test public void testShortConstructor() { + Rectangle node = new Rectangle(); + node.setTranslateX(3); + node.setTranslateY(2); + node.setTranslateZ(50); + + PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); + + MouseEvent e = new MouseEvent(MouseEvent.MOUSE_DRAGGED, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + true, false, false, true, + false, true, false, + true, false, true, pickRes); + + assertSame(MouseEvent.MOUSE_DRAGGED, e.getEventType()); + assertEquals(18, e.getX(), 10e-20); + assertEquals(27, e.getY(), 10e-20); + assertEquals(150, e.getZ(), 10e-20); + assertEquals(10, e.getSceneX(), 10e-20); + assertEquals(20, e.getSceneY(), 10e-20); + assertEquals(30, e.getScreenX(), 10e-20); + assertEquals(40, e.getScreenY(), 10e-20); + assertSame(MouseButton.MIDDLE, e.getButton()); + assertEquals(3, e.getClickCount()); + assertTrue(e.isShiftDown()); + assertFalse(e.isControlDown()); + assertFalse(e.isAltDown()); + assertTrue(e.isMetaDown()); + assertFalse(e.isPrimaryButtonDown()); + assertTrue(e.isMiddleButtonDown()); + assertFalse(e.isSecondaryButtonDown()); + assertTrue(e.isSynthesized()); + assertFalse(e.isPopupTrigger()); + assertTrue(e.isStillSincePress()); + assertFalse(e.isConsumed()); + assertSame(pickRes, e.getPickResult()); + assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); + assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); + + e = new MouseEvent(MouseEvent.MOUSE_DRAGGED, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + false, true, true, false, + true, false, true, + false, true, false, pickRes); + + assertFalse(e.isShiftDown()); + assertTrue(e.isControlDown()); + assertTrue(e.isAltDown()); + assertFalse(e.isMetaDown()); + assertTrue(e.isPrimaryButtonDown()); + assertFalse(e.isMiddleButtonDown()); + assertTrue(e.isSecondaryButtonDown()); + assertFalse(e.isSynthesized()); + assertTrue(e.isPopupTrigger()); + assertFalse(e.isStillSincePress()); + } + + @Test public void testShortConstructorWithoutPickResult() { + MouseDragEvent e = new MouseDragEvent(MouseDragEvent.MOUSE_DRAG_OVER, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + true, false, false, true, + false, true, false, + true, false, null, new Rectangle()); + assertEquals(10, e.getX(), 10e-20); + assertEquals(20, e.getY(), 10e-20); + assertEquals(0, e.getZ(), 10e-20); + assertEquals(10, e.getSceneX(), 10e-20); + assertEquals(20, e.getSceneY(), 10e-20); + assertEquals(30, e.getScreenX(), 10e-20); + assertEquals(40, e.getScreenY(), 10e-20); + assertNotNull(e.getPickResult()); + assertNotNull(e.getPickResult().getIntersectedPoint()); + assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); + assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); + assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); + assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); + assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); + } + + @Test public void testLongConstructor() { + Rectangle n1 = new Rectangle(10, 10); + Rectangle n2 = new Rectangle(10, 10); + Rectangle node = new Rectangle(); + node.setTranslateX(3); + node.setTranslateY(2); + node.setTranslateZ(50); + + PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); + + MouseEvent e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + true, false, false, true, + false, true, false, + true, false, true, pickRes); + + assertSame(n1, e.getSource()); + assertSame(n2, e.getTarget()); + assertSame(MouseEvent.MOUSE_DRAGGED, e.getEventType()); + assertEquals(18, e.getX(), 10e-20); + assertEquals(27, e.getY(), 10e-20); + assertEquals(150, e.getZ(), 10e-20); + assertEquals(10, e.getSceneX(), 10e-20); + assertEquals(20, e.getSceneY(), 10e-20); + assertEquals(30, e.getScreenX(), 10e-20); + assertEquals(40, e.getScreenY(), 10e-20); + assertSame(MouseButton.MIDDLE, e.getButton()); + assertEquals(3, e.getClickCount()); + assertTrue(e.isShiftDown()); + assertFalse(e.isControlDown()); + assertFalse(e.isAltDown()); + assertTrue(e.isMetaDown()); + assertFalse(e.isPrimaryButtonDown()); + assertTrue(e.isMiddleButtonDown()); + assertFalse(e.isSecondaryButtonDown()); + assertTrue(e.isSynthesized()); + assertFalse(e.isPopupTrigger()); + assertTrue(e.isStillSincePress()); + assertFalse(e.isConsumed()); + assertSame(pickRes, e.getPickResult()); + + e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + false, true, true, false, + true, false, true, + false, true, false, pickRes); + + assertSame(n1, e.getSource()); + assertSame(n2, e.getTarget()); + assertFalse(e.isShiftDown()); + assertTrue(e.isControlDown()); + assertTrue(e.isAltDown()); + assertFalse(e.isMetaDown()); + assertTrue(e.isPrimaryButtonDown()); + assertFalse(e.isMiddleButtonDown()); + assertTrue(e.isSecondaryButtonDown()); + assertFalse(e.isSynthesized()); + assertTrue(e.isPopupTrigger()); + assertFalse(e.isStillSincePress()); + } + + + @Test public void testLongConstructorWithoutPickResult() { + Rectangle n1 = new Rectangle(10, 10); + Rectangle n2 = new Rectangle(10, 10); + MouseEvent e = new MouseEvent(n1, n2, MouseEvent.MOUSE_DRAGGED, + 10, 20, 30, 40, MouseButton.MIDDLE, 3, + true, false, false, true, + false, true, false, + true, false, true, null); + assertSame(n1, e.getSource()); + assertSame(n2, e.getTarget()); + assertEquals(10, e.getX(), 10e-20); + assertEquals(20, e.getY(), 10e-20); + assertEquals(0, e.getZ(), 10e-20); + assertEquals(10, e.getSceneX(), 10e-20); + assertEquals(20, e.getSceneY(), 10e-20); + assertEquals(30, e.getScreenX(), 10e-20); + assertEquals(40, e.getScreenY(), 10e-20); + assertNotNull(e.getPickResult()); + assertNotNull(e.getPickResult().getIntersectedPoint()); + assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); + assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); + assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); + } + + @Test + public void shouldCreateDoubleClickMouseEvent() { + /* constructor called during initialization */ + assertEquals(11f, doubleclick.getX(), 0.0001); + assertEquals(12f, doubleclick.getY(), 0.0001); + assertEquals(11f, doubleclick.getSceneX(), 0.0001); + assertEquals(12f, doubleclick.getSceneY(), 0.0001); + assertEquals(13f, doubleclick.getScreenX(), 0.0001); + assertEquals(14f, doubleclick.getScreenY(), 0.0001); + assertSame(MouseButton.PRIMARY, doubleclick.getButton()); + assertEquals(2, doubleclick.getClickCount()); + assertTrue(doubleclick.isShiftDown()); + assertFalse(doubleclick.isControlDown()); + assertTrue(doubleclick.isAltDown()); + assertFalse(doubleclick.isMetaDown()); + assertTrue(doubleclick.isPopupTrigger()); + assertFalse(doubleclick.isPrimaryButtonDown()); + assertTrue(doubleclick.isMiddleButtonDown()); + assertFalse(doubleclick.isSecondaryButtonDown()); + assertSame(MouseEvent.MOUSE_CLICKED, doubleclick.getEventType()); + assertSame(MouseEvent.NULL_SOURCE_TARGET, doubleclick.getSource()); + } + + @Test + public void shouldCopyMouseEvent() { + MouseEvent copy = doubleclick.copyFor(node1, node2); + + assertEquals(6f, copy.getX(), 0.0001); + assertEquals(7f, copy.getY(), 0.0001); + assertEquals(11f, copy.getSceneX(), 0.0001); + assertEquals(12f, copy.getSceneY(), 0.0001); + assertEquals(13f, copy.getScreenX(), 0.0001); + assertEquals(14f, copy.getScreenY(), 0.0001); + assertSame(doubleclick.getButton(), copy.getButton()); + assertEquals(doubleclick.getClickCount(), copy.getClickCount()); + assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); + assertEquals(doubleclick.isControlDown(), copy.isControlDown()); + assertEquals(doubleclick.isAltDown(), copy.isAltDown()); + assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); + assertEquals(doubleclick.isPopupTrigger(), + copy.isPopupTrigger()); + assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); + assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); + assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); + assertSame(doubleclick.getEventType(), copy.getEventType()); + assertSame(node1, copy.getSource()); + assertSame(node2, copy.getTarget()); + } + + @Test + public void shouldCopyMouseEventWithEventId() { + MouseEvent copy = doubleclick.copyFor(node1, node2, + MouseEvent.MOUSE_ENTERED); + + assertEquals(6f, copy.getX(), 0.0001); + assertEquals(7f, copy.getY(), 0.0001); + assertEquals(11f, copy.getSceneX(), 0.0001); + assertEquals(12f, copy.getSceneY(), 0.0001); + assertEquals(13f, copy.getScreenX(), 0.0001); + assertEquals(14f, copy.getScreenY(), 0.0001); + assertSame(doubleclick.getButton(), copy.getButton()); + assertEquals(doubleclick.getClickCount(), copy.getClickCount()); + assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); + assertEquals(doubleclick.isControlDown(), copy.isControlDown()); + assertEquals(doubleclick.isAltDown(), copy.isAltDown()); + assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); + assertEquals(doubleclick.isPopupTrigger(), + copy.isPopupTrigger()); + assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); + assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); + assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); + assertSame(MouseEvent.MOUSE_ENTERED, copy.getEventType()); + assertSame(node1, copy.getSource()); + assertSame(node2, copy.getTarget()); + } + + @Test + public void shouldCopyMouseEventWithNode() { + MouseEvent temp = doubleclick.copyFor(node1, node2); + MouseEvent copy = temp.copyFor(node2, node1); + + assertEquals(1f, copy.getX(), 0.0001); + assertEquals(2f, copy.getY(), 0.0001); + assertEquals(11f, copy.getSceneX(), 0.0001); + assertEquals(12f, copy.getSceneY(), 0.0001); + assertEquals(13f, copy.getScreenX(), 0.0001); + assertEquals(14f, copy.getScreenY(), 0.0001); + assertSame(doubleclick.getButton(), copy.getButton()); + assertEquals(doubleclick.getClickCount(), copy.getClickCount()); + assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); + assertEquals(doubleclick.isControlDown(), copy.isControlDown()); + assertEquals(doubleclick.isAltDown(), copy.isAltDown()); + assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); + assertEquals(doubleclick.isPopupTrigger(), + copy.isPopupTrigger()); + assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); + assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); + assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); + assertSame(doubleclick.getEventType(), copy.getEventType()); + assertSame(node2, copy.getSource()); + assertSame(node1, copy.getTarget()); + } + + @Test + public void shouldCopyMouseEventWithDrag() { + MouseEvent copy = doubleclick.copyFor(node1, node2); + + assertEquals(6f, copy.getX(), 0.0001); + assertEquals(7f, copy.getY(), 0.0001); + assertEquals(11f, copy.getSceneX(), 0.0001); + assertEquals(12f, copy.getSceneY(), 0.0001); + assertEquals(13f, copy.getScreenX(), 0.0001); + assertEquals(14f, copy.getScreenY(), 0.0001); + assertSame(doubleclick.getButton(), copy.getButton()); + assertEquals(doubleclick.getClickCount(), copy.getClickCount()); + assertEquals(doubleclick.isShiftDown(), copy.isShiftDown()); + assertEquals(doubleclick.isControlDown(), copy.isControlDown()); + assertEquals(doubleclick.isAltDown(), copy.isAltDown()); + assertEquals(doubleclick.isMetaDown(), copy.isMetaDown()); + assertEquals(doubleclick.isPopupTrigger(), + copy.isPopupTrigger()); + assertEquals(doubleclick.isPrimaryButtonDown(), copy.isPrimaryButtonDown()); + assertEquals(doubleclick.isMiddleButtonDown(), copy.isMiddleButtonDown()); + assertEquals(doubleclick.isSecondaryButtonDown(), copy.isSecondaryButtonDown()); + assertSame(doubleclick.getEventType(), copy.getEventType()); + assertSame(node1, copy.getSource()); + assertSame(node2, copy.getTarget()); + } + + + @Test + public void shouldGetNonEmptyDescription() { + String s = doubleclick.toString(); + assertNotNull(s); + assertFalse(s.isEmpty()); + } + + +}