1 /* 2 * Copyright (c) 2010, 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.geometry; 27 28 import javafx.geometry.Point2D; 29 import javafx.geometry.Rectangle2D; 30 import static org.junit.Assert.assertEquals; 31 import static org.junit.Assert.assertFalse; 32 import static org.junit.Assert.assertNotNull; 33 import static org.junit.Assert.assertTrue; 34 35 import org.junit.Test; 36 37 public class Rectangle2DTest { 38 39 @Test(expected=IllegalArgumentException.class) 40 public void testConstruction1() { 41 new Rectangle2D(0, 0, -1, 0); 42 } 43 44 @Test(expected=IllegalArgumentException.class) 45 public void testConstruction2() { 46 new Rectangle2D(0, 0, 0, -1); 47 } 48 49 @Test 50 public void testContains() { 51 Rectangle2D r = new Rectangle2D(0, 0, 1, 1); 52 assertFalse(r.contains((Point2D)null)); 53 assertFalse(r.contains((Rectangle2D)null)); 54 assertTrue(r.contains(new Point2D(.5f, .5f))); 55 assertTrue(r.contains(new Rectangle2D(.1f, .1f, .5f, .5f))); 56 57 assertFalse(r.contains(-1, -1)); 58 assertFalse(r.contains(2, 1)); 59 assertFalse(r.contains(.5f, -1)); 60 assertFalse(r.contains(.5f, 2)); 61 62 assertTrue(r.contains(.1f, .1f, .1f, .1f)); 63 assertFalse(r.contains(.1f, -1, 1, 1)); 64 assertFalse(r.contains(.1f, .1f, 2, 2)); 65 assertFalse(r.contains(.1f, .1f, .1f, 2)); 66 } 67 68 @Test 69 public void testIntersects() { 70 Rectangle2D r = new Rectangle2D(0, 0, 1, 1); 71 assertFalse(r.intersects((Rectangle2D)null)); 72 assertTrue(r.intersects(new Rectangle2D(.1f, .1f, .1f, .1f))); 73 assertFalse(r.intersects(new Rectangle2D(-1, 1, 1, 1))); 74 assertFalse(r.intersects(new Rectangle2D(.1f, 1, 1, 1))); 75 76 assertFalse(r.intersects(-1, 1, 1, 1)); 77 assertFalse(r.intersects(.1f, 1, 1, 1)); 78 79 } 80 81 @Test 82 public void testEquals() { 83 Rectangle2D r1 = new Rectangle2D(0, 0, 1, 1); 84 Rectangle2D r2 = new Rectangle2D(1, 1, 1, 1); 85 Rectangle2D r3 = new Rectangle2D(0, 1, 1, 1); 86 Rectangle2D r4 = new Rectangle2D(0, 0, 2, 1); 87 Rectangle2D r5 = new Rectangle2D(0, 0, 1, 2); 88 89 90 assertTrue(r1.equals(r1)); 91 assertTrue(r1.equals(new Rectangle2D(0, 0, 1, 1))); 92 assertFalse(r1.equals(new Object())); 93 94 assertFalse(r1.equals(r2)); 95 assertFalse(r1.equals(r3)); 96 assertFalse(r1.equals(r4)); 97 assertFalse(r1.equals(r5)); 98 } 99 100 @Test 101 public void testHash() { 102 Rectangle2D p1 = new Rectangle2D(0, 0, 0, 0); 103 Rectangle2D p2 = new Rectangle2D(0, 1, 0, 0); 104 Rectangle2D p3 = new Rectangle2D(0, 1, 0, 0); 105 106 assertEquals(p3.hashCode(), p2.hashCode()); 107 assertFalse(p1.hashCode() == p2.hashCode()); 108 } 109 110 @Test 111 public void testToString() { 112 Rectangle2D p1 = new Rectangle2D(0, 0, 0, 0); 113 assertNotNull(p1.toString()); 114 } 115 116 }