1 /* 2 * Copyright (c) 2012, 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.layout; 27 28 import javafx.geometry.Side; 29 import javafx.scene.image.Image; 30 import javafx.scene.layout.BackgroundImage; 31 import javafx.scene.layout.BackgroundPosition; 32 import javafx.scene.layout.BackgroundSize; 33 import org.junit.Test; 34 35 import static javafx.scene.layout.BackgroundRepeat.*; 36 import static org.junit.Assert.*; 37 38 /** 39 */ 40 public class BackgroundImageTest { 41 private static final BackgroundPosition POS_1 = new BackgroundPosition(Side.LEFT, .5, true, Side.TOP, 10, false); 42 private static final BackgroundPosition POS_2 = BackgroundPosition.DEFAULT; 43 44 private static final BackgroundSize SIZE_1 = new BackgroundSize(1, 1, true, true, false, true); 45 private static final BackgroundSize SIZE_2 = BackgroundSize.DEFAULT; 46 47 private static final Image IMAGE_1 = new Image("test/javafx/scene/layout/red.png"); 48 private static final Image IMAGE_2 = new Image("test/javafx/scene/layout/blue.png"); 49 50 @Test public void instanceCreation() { 51 BackgroundImage image = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 52 assertEquals(IMAGE_1, image.getImage()); 53 assertEquals(REPEAT, image.getRepeatX()); 54 assertEquals(REPEAT, image.getRepeatY()); 55 assertEquals(POS_1, image.getPosition()); 56 assertEquals(SIZE_1, image.getSize()); 57 } 58 59 @Test public void instanceCreation2() { 60 BackgroundImage image = new BackgroundImage(IMAGE_2, NO_REPEAT, ROUND, POS_2, SIZE_2); 61 assertEquals(IMAGE_2, image.getImage()); 62 assertEquals(NO_REPEAT, image.getRepeatX()); 63 assertEquals(ROUND, image.getRepeatY()); 64 assertEquals(POS_2, image.getPosition()); 65 assertEquals(SIZE_2, image.getSize()); 66 } 67 68 @Test(expected = NullPointerException.class) 69 public void instanceCreationNullImage() { 70 new BackgroundImage(null, NO_REPEAT, ROUND, POS_2, SIZE_2); 71 } 72 73 @Test public void instanceCreationNullRepeatXDefaultsToREPEAT() { 74 BackgroundImage image = new BackgroundImage(IMAGE_1, null, REPEAT, POS_1, SIZE_1); 75 assertEquals(IMAGE_1, image.getImage()); 76 assertEquals(REPEAT, image.getRepeatX()); 77 assertEquals(REPEAT, image.getRepeatY()); 78 assertEquals(POS_1, image.getPosition()); 79 assertEquals(SIZE_1, image.getSize()); 80 } 81 82 @Test public void instanceCreationNullRepeatYDefaultsToREPEAT() { 83 BackgroundImage image = new BackgroundImage(IMAGE_1, REPEAT, null, POS_1, SIZE_1); 84 assertEquals(IMAGE_1, image.getImage()); 85 assertEquals(REPEAT, image.getRepeatX()); 86 assertEquals(REPEAT, image.getRepeatY()); 87 assertEquals(POS_1, image.getPosition()); 88 assertEquals(SIZE_1, image.getSize()); 89 } 90 91 @Test public void instanceCreationNullPositionDefaultsToDEFAULT() { 92 BackgroundImage image = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, null, SIZE_1); 93 assertEquals(IMAGE_1, image.getImage()); 94 assertEquals(REPEAT, image.getRepeatX()); 95 assertEquals(REPEAT, image.getRepeatY()); 96 assertEquals(BackgroundPosition.DEFAULT, image.getPosition()); 97 assertEquals(SIZE_1, image.getSize()); 98 } 99 100 @Test public void instanceCreationNullSizeDefaultsToDEFAULT() { 101 BackgroundImage image = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, null); 102 assertEquals(IMAGE_1, image.getImage()); 103 assertEquals(REPEAT, image.getRepeatX()); 104 assertEquals(REPEAT, image.getRepeatY()); 105 assertEquals(POS_1, image.getPosition()); 106 assertEquals(BackgroundSize.DEFAULT, image.getSize()); 107 } 108 109 @Test public void equivalent() { 110 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 111 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 112 assertEquals(a, b); 113 } 114 115 @Test public void equivalent2() { 116 BackgroundImage a = new BackgroundImage(IMAGE_1, SPACE, REPEAT, POS_1, SIZE_1); 117 BackgroundImage b = new BackgroundImage(IMAGE_1, SPACE, REPEAT, POS_1, SIZE_1); 118 assertEquals(a, b); 119 } 120 121 @Test public void equivalent3() { 122 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, ROUND, POS_1, SIZE_1); 123 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, ROUND, POS_1, SIZE_1); 124 assertEquals(a, b); 125 } 126 127 @Test public void equivalent4() { 128 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_1); 129 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_1); 130 assertEquals(a, b); 131 } 132 133 @Test public void equivalent5() { 134 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_2); 135 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_2); 136 assertEquals(a, b); 137 } 138 139 @Test public void equivalent6() { 140 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_2); 141 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); 142 assertEquals(a, b); 143 } 144 145 @Test public void equivalentHasSameHashCode() { 146 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 147 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 148 assertEquals(a.hashCode(), b.hashCode()); 149 } 150 151 @Test public void equivalentHasSameHashCode2() { 152 BackgroundImage a = new BackgroundImage(IMAGE_1, SPACE, REPEAT, POS_1, SIZE_1); 153 BackgroundImage b = new BackgroundImage(IMAGE_1, SPACE, REPEAT, POS_1, SIZE_1); 154 assertEquals(a.hashCode(), b.hashCode()); 155 } 156 157 @Test public void equivalentHasSameHashCode3() { 158 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, ROUND, POS_1, SIZE_1); 159 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, ROUND, POS_1, SIZE_1); 160 assertEquals(a.hashCode(), b.hashCode()); 161 } 162 163 @Test public void equivalentHasSameHashCode4() { 164 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_1); 165 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_1); 166 assertEquals(a.hashCode(), b.hashCode()); 167 } 168 169 @Test public void equivalentHasSameHashCode5() { 170 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_2); 171 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_2); 172 assertEquals(a.hashCode(), b.hashCode()); 173 } 174 175 @Test public void equivalentHasSameHashCode6() { 176 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_2); 177 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); 178 assertEquals(a.hashCode(), b.hashCode()); 179 } 180 181 @Test public void notEquivalent() { 182 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 183 BackgroundImage b = new BackgroundImage(IMAGE_2, REPEAT, REPEAT, POS_1, SIZE_1); 184 assertFalse(a.equals(b)); 185 } 186 187 @Test public void notEquivalent2() { 188 BackgroundImage a = new BackgroundImage(IMAGE_1, SPACE, REPEAT, POS_1, SIZE_1); 189 BackgroundImage b = new BackgroundImage(IMAGE_1, ROUND, REPEAT, POS_1, SIZE_1); 190 assertFalse(a.equals(b)); 191 } 192 193 @Test public void notEquivalent3() { 194 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, ROUND, POS_1, SIZE_1); 195 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 196 assertFalse(a.equals(b)); 197 } 198 199 @Test public void notEquivalent4() { 200 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 201 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_1); 202 assertFalse(a.equals(b)); 203 } 204 205 @Test public void notEquivalent5() { 206 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_1); 207 BackgroundImage b = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_1, SIZE_2); 208 assertFalse(a.equals(b)); 209 } 210 211 @Test public void notEquivalentWithNull() { 212 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_2); 213 assertFalse(a.equals(null)); 214 } 215 216 @Test public void notEquivalentWithRandom() { 217 BackgroundImage a = new BackgroundImage(IMAGE_1, REPEAT, REPEAT, POS_2, SIZE_2); 218 assertFalse(a.equals("Some random string")); 219 } 220 }