1 /* 2 * Copyright (c) 2011, 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.effect; 27 28 import static test.com.sun.javafx.test.TestHelper.box; 29 30 import java.util.ArrayList; 31 import java.util.Collection; 32 33 import javafx.scene.Node; 34 import javafx.scene.effect.ColorAdjust; 35 import javafx.scene.effect.ImageInput; 36 import test.javafx.scene.image.TestImages; 37 import javafx.scene.shape.Rectangle; 38 39 import org.junit.runner.RunWith; 40 import org.junit.runners.Parameterized; 41 import org.junit.runners.Parameterized.Parameters; 42 43 import test.com.sun.javafx.test.BBoxComparator; 44 import test.com.sun.javafx.test.PropertiesTestBase; 45 46 @RunWith(Parameterized.class) 47 public final class ImageInput_properties_Test extends PropertiesTestBase { 48 49 @Parameters 50 public static Collection data() { 51 ArrayList array = new ArrayList(); 52 53 // simple property tests 54 final ImageInput testImageInput = new ImageInput(); 55 56 array.add(config(testImageInput, "source", 57 null, TestImages.TEST_IMAGE_100x200)); 58 array.add(config(testImageInput, "x", 0.0, 20.0)); 59 array.add(config(testImageInput, "y", 0.0, 20.0)); 60 61 // bounding box calculation tests 62 63 Node testNode = createTestNode(); 64 array.add(config(testNode.getEffect(), 65 "source", TestImages.TEST_IMAGE_32x32, TestImages.TEST_IMAGE_64x64, 66 testNode, 67 "boundsInLocal", 68 box(0.0, 0.0, 32.0, 32.0), 69 box(0.0, 0.0, 64.0, 64.0), 70 new BBoxComparator(0.01))); 71 72 testNode = createTestNode(); 73 ((ImageInput) testNode.getEffect()).setSource(TestImages.TEST_IMAGE_32x32); 74 array.add(config(testNode.getEffect(), 75 "x", 0.0, 50.0, 76 testNode, 77 "boundsInLocal", 78 box(0.0, 0.0, 32.0, 32.0), 79 box(50.0, 0.0, 32.0, 32.0), 80 new BBoxComparator(0.01))); 81 82 testNode = createTestNode(); 83 ((ImageInput) testNode.getEffect()).setSource(TestImages.TEST_IMAGE_32x32); 84 array.add(config(testNode.getEffect(), 85 "y", 0.0, 50.0, 86 testNode, 87 "boundsInLocal", 88 box(0.0, 0.0, 32.0, 32.0), 89 box(0.0, 50.0, 32.0, 32.0), 90 new BBoxComparator(0.01))); 91 92 testNode = createTestNodeWithChainedEffect(); 93 array.add(config(((ColorAdjust)testNode.getEffect()).getInput(), 94 "source", TestImages.TEST_IMAGE_32x32, TestImages.TEST_IMAGE_64x64, 95 testNode, 96 "boundsInLocal", 97 box(0.0, 0.0, 32.0, 32.0), 98 box(0.0, 0.0, 64.0, 64.0), 99 new BBoxComparator(0.01))); 100 101 testNode = createTestNodeWithChainedEffect(); 102 ImageInput imageInput = (ImageInput)((ColorAdjust)testNode.getEffect()).getInput(); 103 imageInput.setSource(TestImages.TEST_IMAGE_32x32); 104 array.add(config(imageInput, 105 "x", 0.0, 50.0, 106 testNode, 107 "boundsInLocal", 108 box(0.0, 0.0, 32.0, 32.0), 109 box(50.0, 0.0, 32.0, 32.0), 110 new BBoxComparator(0.01))); 111 112 testNode = createTestNodeWithChainedEffect(); 113 imageInput = (ImageInput)((ColorAdjust)testNode.getEffect()).getInput(); 114 imageInput.setSource(TestImages.TEST_IMAGE_32x32); 115 array.add(config(imageInput, 116 "y", 0.0, 50.0, 117 testNode, 118 "boundsInLocal", 119 box(0.0, 0.0, 32.0, 32.0), 120 box(0.0, 50.0, 32.0, 32.0), 121 new BBoxComparator(0.01))); 122 123 return array; 124 } 125 126 public ImageInput_properties_Test(final Configuration configuration) { 127 super(configuration); 128 } 129 130 private static Rectangle createTestNode() { 131 Rectangle r = new Rectangle(100, 100); 132 r.setEffect(new ImageInput()); 133 return r; 134 } 135 136 private static Rectangle createTestNodeWithChainedEffect() { 137 Rectangle r = new Rectangle(100, 100); 138 ColorAdjust c = new ColorAdjust(); 139 c.setInput(new ImageInput()); 140 r.setEffect(c); 141 return r; 142 } 143 }