1 /* 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javafx.scene.input; 27 28 import javafx.event.Event; 29 import javafx.geometry.Point3D; 30 import javafx.scene.shape.Rectangle; 31 import org.junit.Test; 32 import static org.junit.Assert.assertEquals; 33 import static org.junit.Assert.assertFalse; 34 import static org.junit.Assert.assertNotNull; 35 import static org.junit.Assert.assertSame; 36 import static org.junit.Assert.assertTrue; 37 38 public class GestureEventTest { 39 40 @Test public void testShortConstructor() { 41 Rectangle node = new Rectangle(); 42 node.setTranslateX(3); 43 node.setTranslateY(2); 44 node.setTranslateZ(50); 45 46 PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); 47 GestureEvent e = new GestureEvent( 48 GestureEvent.ANY, 10, 20, 30, 40, 49 false, true, false, true, false, true, pickRes); 50 51 assertSame(GestureEvent.ANY, e.getEventType()); 52 assertSame(pickRes, e.getPickResult()); 53 assertEquals(18, e.getX(), 10e-20); 54 assertEquals(27, e.getY(), 10e-20); 55 assertEquals(150, e.getZ(), 10e-20); 56 assertEquals(10, e.getSceneX(), 10e-20); 57 assertEquals(20, e.getSceneY(), 10e-20); 58 assertEquals(30, e.getScreenX(), 10e-20); 59 assertEquals(40, e.getScreenY(), 10e-20); 60 assertFalse(e.isShiftDown()); 61 assertTrue(e.isControlDown()); 62 assertFalse(e.isAltDown()); 63 assertTrue(e.isMetaDown()); 64 assertFalse(e.isDirect()); 65 assertTrue(e.isInertia()); 66 assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); 67 assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); 68 assertFalse(e.isConsumed()); 69 70 e = new GestureEvent( 71 GestureEvent.ANY, 10, 20, 30, 40, 72 true, false, true, false, true, false, null); 73 assertTrue(e.isShiftDown()); 74 assertFalse(e.isControlDown()); 75 assertTrue(e.isAltDown()); 76 assertFalse(e.isMetaDown()); 77 assertTrue(e.isDirect()); 78 assertFalse(e.isInertia()); 79 } 80 81 @Test public void testShortConstructorWithoutPickResult() { 82 GestureEvent e = new GestureEvent( 83 GestureEvent.ANY, 10, 20, 30, 40, 84 false, true, false, true, false, true, null); 85 86 assertEquals(10, e.getX(), 10e-20); 87 assertEquals(20, e.getY(), 10e-20); 88 assertEquals(0, e.getZ(), 10e-20); 89 assertEquals(10, e.getSceneX(), 10e-20); 90 assertEquals(20, e.getSceneY(), 10e-20); 91 assertEquals(30, e.getScreenX(), 10e-20); 92 assertEquals(40, e.getScreenY(), 10e-20); 93 assertNotNull(e.getPickResult()); 94 assertNotNull(e.getPickResult().getIntersectedPoint()); 95 assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); 96 assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); 97 assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); 98 assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); 99 assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); 100 } 101 102 @Test public void testLongConstructor() { 103 Rectangle node = new Rectangle(10, 10); 104 node.setTranslateX(3); 105 node.setTranslateY(2); 106 node.setTranslateZ(50); 107 Rectangle n1 = new Rectangle(10, 10); 108 Rectangle n2 = new Rectangle(10, 10); 109 110 PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); 111 GestureEvent e = new GestureEvent(n1, n2, 112 GestureEvent.ANY, 10, 20, 30, 40, 113 false, true, false, true, false, true, pickRes); 114 assertSame(n1, e.getSource()); 115 assertSame(n2, e.getTarget()); 116 assertSame(GestureEvent.ANY, e.getEventType()); 117 assertSame(pickRes, e.getPickResult()); 118 assertEquals(18, e.getX(), 10e-20); 119 assertEquals(27, e.getY(), 10e-20); 120 assertEquals(150, e.getZ(), 10e-20); 121 assertEquals(10, e.getSceneX(), 10e-20); 122 assertEquals(20, e.getSceneY(), 10e-20); 123 assertEquals(30, e.getScreenX(), 10e-20); 124 assertEquals(40, e.getScreenY(), 10e-20); 125 assertFalse(e.isShiftDown()); 126 assertTrue(e.isControlDown()); 127 assertFalse(e.isAltDown()); 128 assertTrue(e.isMetaDown()); 129 assertFalse(e.isDirect()); 130 assertTrue(e.isInertia()); 131 assertFalse(e.isConsumed()); 132 133 e = new GestureEvent(n1, n2, 134 GestureEvent.ANY, 10, 20, 30, 40, 135 true, false, true, false, true, false, null); 136 assertTrue(e.isShiftDown()); 137 assertFalse(e.isControlDown()); 138 assertTrue(e.isAltDown()); 139 assertFalse(e.isMetaDown()); 140 assertTrue(e.isDirect()); 141 assertFalse(e.isInertia()); 142 } 143 144 145 @Test public void testLongConstructorWithoutPickResult() { 146 Rectangle n1 = new Rectangle(10, 10); 147 Rectangle n2 = new Rectangle(10, 10); 148 GestureEvent e = new GestureEvent(n1, n2, 149 GestureEvent.ANY, 10, 20, 30, 40, 150 false, true, false, true, false, true, null); 151 152 assertSame(n1, e.getSource()); 153 assertSame(n2, e.getTarget()); 154 assertEquals(10, e.getX(), 10e-20); 155 assertEquals(20, e.getY(), 10e-20); 156 assertEquals(0, e.getZ(), 10e-20); 157 assertEquals(10, e.getSceneX(), 10e-20); 158 assertEquals(20, e.getSceneY(), 10e-20); 159 assertEquals(30, e.getScreenX(), 10e-20); 160 assertEquals(40, e.getScreenY(), 10e-20); 161 assertNotNull(e.getPickResult()); 162 assertNotNull(e.getPickResult().getIntersectedPoint()); 163 assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); 164 assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); 165 assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); 166 } 167 168 }