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 test.javafx.scene.input; 27 28 import javafx.event.Event; 29 import javafx.geometry.Point3D; 30 import javafx.scene.input.GestureEvent; 31 import javafx.scene.input.GestureEvent; 32 import javafx.scene.input.GestureEventShim; 33 import javafx.scene.input.PickResult; 34 import javafx.scene.input.PickResult; 35 import javafx.scene.shape.Rectangle; 36 import org.junit.Test; 37 import static org.junit.Assert.assertEquals; 38 import static org.junit.Assert.assertFalse; 39 import static org.junit.Assert.assertNotNull; 40 import static org.junit.Assert.assertSame; 41 import static org.junit.Assert.assertTrue; 42 43 public class GestureEventTest { 44 45 @Test public void testShortConstructor() { 46 Rectangle node = new Rectangle(); 47 node.setTranslateX(3); 48 node.setTranslateY(2); 49 node.setTranslateZ(50); 50 51 PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); 52 GestureEvent e = GestureEventShim.getGestureEvent( 53 GestureEvent.ANY, 10, 20, 30, 40, 54 false, true, false, true, false, true, pickRes); 55 56 assertSame(GestureEvent.ANY, e.getEventType()); 57 assertSame(pickRes, e.getPickResult()); 58 assertEquals(18, e.getX(), 10e-20); 59 assertEquals(27, e.getY(), 10e-20); 60 assertEquals(150, e.getZ(), 10e-20); 61 assertEquals(10, e.getSceneX(), 10e-20); 62 assertEquals(20, e.getSceneY(), 10e-20); 63 assertEquals(30, e.getScreenX(), 10e-20); 64 assertEquals(40, e.getScreenY(), 10e-20); 65 assertFalse(e.isShiftDown()); 66 assertTrue(e.isControlDown()); 67 assertFalse(e.isAltDown()); 68 assertTrue(e.isMetaDown()); 69 assertFalse(e.isDirect()); 70 assertTrue(e.isInertia()); 71 assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); 72 assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); 73 assertFalse(e.isConsumed()); 74 75 e = GestureEventShim.getGestureEvent( 76 GestureEvent.ANY, 10, 20, 30, 40, 77 true, false, true, false, true, false, null); 78 assertTrue(e.isShiftDown()); 79 assertFalse(e.isControlDown()); 80 assertTrue(e.isAltDown()); 81 assertFalse(e.isMetaDown()); 82 assertTrue(e.isDirect()); 83 assertFalse(e.isInertia()); 84 } 85 86 @Test public void testShortConstructorWithoutPickResult() { 87 GestureEvent e = GestureEventShim.getGestureEvent( 88 GestureEvent.ANY, 10, 20, 30, 40, 89 false, true, false, true, false, true, null); 90 91 assertEquals(10, e.getX(), 10e-20); 92 assertEquals(20, e.getY(), 10e-20); 93 assertEquals(0, e.getZ(), 10e-20); 94 assertEquals(10, e.getSceneX(), 10e-20); 95 assertEquals(20, e.getSceneY(), 10e-20); 96 assertEquals(30, e.getScreenX(), 10e-20); 97 assertEquals(40, e.getScreenY(), 10e-20); 98 assertNotNull(e.getPickResult()); 99 assertNotNull(e.getPickResult().getIntersectedPoint()); 100 assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); 101 assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); 102 assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); 103 assertSame(Event.NULL_SOURCE_TARGET, e.getSource()); 104 assertSame(Event.NULL_SOURCE_TARGET, e.getTarget()); 105 } 106 107 @Test public void testLongConstructor() { 108 Rectangle node = new Rectangle(10, 10); 109 node.setTranslateX(3); 110 node.setTranslateY(2); 111 node.setTranslateZ(50); 112 Rectangle n1 = new Rectangle(10, 10); 113 Rectangle n2 = new Rectangle(10, 10); 114 115 PickResult pickRes = new PickResult(node, new Point3D(15, 25, 100), 33); 116 GestureEvent e = GestureEventShim.getGestureEvent( 117 n1, n2, 118 GestureEvent.ANY, 10, 20, 30, 40, 119 false, true, false, true, false, true, pickRes); 120 assertSame(n1, e.getSource()); 121 assertSame(n2, e.getTarget()); 122 assertSame(GestureEvent.ANY, e.getEventType()); 123 assertSame(pickRes, e.getPickResult()); 124 assertEquals(18, e.getX(), 10e-20); 125 assertEquals(27, e.getY(), 10e-20); 126 assertEquals(150, e.getZ(), 10e-20); 127 assertEquals(10, e.getSceneX(), 10e-20); 128 assertEquals(20, e.getSceneY(), 10e-20); 129 assertEquals(30, e.getScreenX(), 10e-20); 130 assertEquals(40, e.getScreenY(), 10e-20); 131 assertFalse(e.isShiftDown()); 132 assertTrue(e.isControlDown()); 133 assertFalse(e.isAltDown()); 134 assertTrue(e.isMetaDown()); 135 assertFalse(e.isDirect()); 136 assertTrue(e.isInertia()); 137 assertFalse(e.isConsumed()); 138 139 e = GestureEventShim.getGestureEvent( 140 n1, n2, 141 GestureEvent.ANY, 10, 20, 30, 40, 142 true, false, true, false, true, false, null); 143 assertTrue(e.isShiftDown()); 144 assertFalse(e.isControlDown()); 145 assertTrue(e.isAltDown()); 146 assertFalse(e.isMetaDown()); 147 assertTrue(e.isDirect()); 148 assertFalse(e.isInertia()); 149 } 150 151 152 @Test public void testLongConstructorWithoutPickResult() { 153 Rectangle n1 = new Rectangle(10, 10); 154 Rectangle n2 = new Rectangle(10, 10); 155 GestureEvent e = GestureEventShim.getGestureEvent( 156 n1, n2, 157 GestureEvent.ANY, 10, 20, 30, 40, 158 false, true, false, true, false, true, null); 159 160 assertSame(n1, e.getSource()); 161 assertSame(n2, e.getTarget()); 162 assertEquals(10, e.getX(), 10e-20); 163 assertEquals(20, e.getY(), 10e-20); 164 assertEquals(0, e.getZ(), 10e-20); 165 assertEquals(10, e.getSceneX(), 10e-20); 166 assertEquals(20, e.getSceneY(), 10e-20); 167 assertEquals(30, e.getScreenX(), 10e-20); 168 assertEquals(40, e.getScreenY(), 10e-20); 169 assertNotNull(e.getPickResult()); 170 assertNotNull(e.getPickResult().getIntersectedPoint()); 171 assertEquals(10, e.getPickResult().getIntersectedPoint().getX(), 10e-20); 172 assertEquals(20, e.getPickResult().getIntersectedPoint().getY(), 10e-20); 173 assertEquals(0, e.getPickResult().getIntersectedPoint().getZ(), 10e-20); 174 } 175 176 }