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.BoxBlur; 35 import javafx.scene.effect.ColorAdjust; 36 import javafx.scene.shape.Rectangle; 37 38 import org.junit.runner.RunWith; 39 import org.junit.runners.Parameterized; 40 import org.junit.runners.Parameterized.Parameters; 41 42 import test.com.sun.javafx.test.BBoxComparator; 43 import test.com.sun.javafx.test.PropertiesTestBase; 44 45 @RunWith(Parameterized.class) 46 public final class BoxBlur_properties_Test extends PropertiesTestBase { 47 48 @Parameters 49 public static Collection data() { 50 ArrayList array = new ArrayList(); 51 52 // simple property tests 53 final BoxBlur testBoxBlur = new BoxBlur(); 54 55 array.add(config(testBoxBlur, "input", null, new BoxBlur())); 56 array.add(config(testBoxBlur, "width", 100.0, 200.0)); 57 array.add(config(testBoxBlur, "height", 100.0, 200.0)); 58 array.add(config(testBoxBlur, "iterations", 1, 3)); 59 60 // bounding box calculation tests 61 62 // BoxBlur set directly on node 63 Node testNode = createTestNode(); 64 65 array.add(config(testNode.getEffect(), 66 "iterations", 1, 2, 67 testNode, 68 "boundsInLocal", 69 box(-2.0, -2.0, 104.0, 104.0), 70 box(-4.0, -4.0, 108.0, 108.0), 71 new BBoxComparator(0.01))); 72 73 testNode = createTestNode(); 74 array.add(config(testNode.getEffect(), 75 "width", 5.0, 100.0, 76 testNode, 77 "boundsInLocal", 78 box(-2.0, -2.0, 104.0, 104.0), 79 box(-50.0, -2.0, 200.0, 104.0), 80 new BBoxComparator(0.01))); 81 82 testNode = createTestNode(); 83 array.add(config(testNode.getEffect(), 84 "height", 5.0, 100.0, 85 testNode, 86 "boundsInLocal", 87 box(-2.0, -2.0, 104.0, 104.0), 88 box(-2.0, -50.0, 104.0, 200.0), 89 new BBoxComparator(0.01))); 90 91 testNode = createTestNode(); 92 array.add(config(testNode.getEffect(), 93 "input", null, new BoxBlur(), 94 testNode, 95 "boundsInLocal", 96 box(-2.0, -2.0, 104.0, 104.0), 97 box(-4.0, -4.0, 108.0, 108.0), 98 new BBoxComparator(0.01))); 99 100 // BoxBlur chained to another effect 101 testNode = createTestNodeWithChainedEffect(); 102 array.add(config(((ColorAdjust)testNode.getEffect()).getInput(), 103 "iterations", 1, 2, 104 testNode, 105 "boundsInLocal", 106 box(-2.0, -2.0, 104.0, 104.0), 107 box(-4.0, -4.0, 108.0, 108.0), 108 new BBoxComparator(0.01))); 109 110 testNode = createTestNodeWithChainedEffect(); 111 array.add(config(((ColorAdjust)testNode.getEffect()).getInput(), 112 "width", 5.0, 100.0, 113 testNode, 114 "boundsInLocal", 115 box(-2.0, -2.0, 104.0, 104.0), 116 box(-50.0, -2.0, 200.0, 104.0), 117 new BBoxComparator(0.01))); 118 119 testNode = createTestNodeWithChainedEffect(); 120 array.add(config(((ColorAdjust)testNode.getEffect()).getInput(), 121 "height", 5.0, 100.0, 122 testNode, 123 "boundsInLocal", 124 box(-2.0, -2.0, 104.0, 104.0), 125 box(-2.0, -50.0, 104.0, 200.0), 126 new BBoxComparator(0.01))); 127 128 testNode = createTestNodeWithChainedEffect(); 129 array.add(config(((ColorAdjust)testNode.getEffect()).getInput(), 130 "input", null, new BoxBlur(), 131 testNode, 132 "boundsInLocal", 133 box(-2.0, -2.0, 104.0, 104.0), 134 box(-4.0, -4.0, 108.0, 108.0), 135 new BBoxComparator(0.01))); 136 137 return array; 138 } 139 140 public BoxBlur_properties_Test(final Configuration configuration) { 141 super(configuration); 142 } 143 144 private static Rectangle createTestNode() { 145 Rectangle r = new Rectangle(100, 100); 146 r.setEffect(new BoxBlur()); 147 return r; 148 } 149 150 private static Rectangle createTestNodeWithChainedEffect() { 151 Rectangle r = new Rectangle(100, 100); 152 ColorAdjust ca = new ColorAdjust(); 153 ca.setInput(new BoxBlur()); 154 r.setEffect(ca); 155 return r; 156 } 157 }