modules/graphics/src/test/java/test/javafx/scene/layout/BorderPaneTest.java

Print this page
rev 9250 : 8134762: Refactor Javafx graphics module tests for clear separation of tests
Reviewed-by:


   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 javafx.scene.layout;
  27 

  28 import javafx.geometry.Insets;
  29 import static org.junit.Assert.*;
  30 import javafx.geometry.Orientation;


  31 import org.junit.Before;
  32 import org.junit.Ignore;
  33 
  34 import org.junit.Test;
  35 
  36 
  37 public class BorderPaneTest {
  38 
  39     BorderPane borderpane;
  40 
  41     @Before public void setUp() {
  42         this.borderpane = new BorderPane();
  43     }
  44 
  45     @Test public void testEmptyBorderPane() {
  46         assertNull(borderpane.getTop());
  47         assertNull(borderpane.getCenter());
  48         assertNull(borderpane.getBottom());
  49         assertNull(borderpane.getLeft());
  50         assertNull(borderpane.getRight());
  51     }
  52 
  53     @Test public void testChildrenRemovedDirectly() {
  54         MockResizable node = new MockResizable(10,20, 100,200, 700,800);
  55 
  56         borderpane.setCenter(node);
  57         assertSame(node, borderpane.getCenter());
  58         assertNull(borderpane.getLeft());
  59         assertNull(borderpane.getRight());
  60         assertNull(borderpane.getBottom());
  61         assertNull(borderpane.getTop());
  62 
  63         borderpane.autosize();
  64         borderpane.layout();
  65         assertEquals(0, node.getLayoutX(), 1e-100);
  66         assertEquals(0, node.getLayoutY(), 1e-100);
  67         assertEquals(100, node.getWidth(), 1e-100);
  68         assertEquals(200, node.getHeight(), 1e-100);
  69 
  70         borderpane.getChildren().remove(node);
  71         assertNull(borderpane.getCenter());
  72 
  73         borderpane.setLeft(node);
  74         assertNull(borderpane.getCenter());
  75         assertSame(node, borderpane.getLeft());
  76         assertNull(borderpane.getRight());
  77         assertNull(borderpane.getBottom());
  78         assertNull(borderpane.getTop());
  79 
  80         borderpane.autosize();
  81         borderpane.layout();
  82         assertEquals(0, node.getLayoutX(), 1e-100);
  83         assertEquals(0, node.getLayoutY(), 1e-100);
  84         assertEquals(100, node.getWidth(), 1e-100);
  85         assertEquals(200, node.getHeight(), 1e-100);
  86 
  87         borderpane.getChildren().remove(node);
  88         assertNull(borderpane.getLeft());
  89 
  90         borderpane.setRight(node);
  91         assertNull(borderpane.getCenter());
  92         assertNull(borderpane.getLeft());
  93         assertSame(node, borderpane.getRight());
  94         assertNull(borderpane.getBottom());
  95         assertNull(borderpane.getTop());
  96 
  97         borderpane.autosize();
  98         borderpane.layout();
  99         assertEquals(0, node.getLayoutX(), 1e-100);
 100         assertEquals(0, node.getLayoutY(), 1e-100);
 101         assertEquals(100, node.getWidth(), 1e-100);
 102         assertEquals(200, node.getHeight(), 1e-100);
 103 
 104         borderpane.getChildren().remove(node);
 105         assertNull(borderpane.getRight());
 106 
 107         borderpane.setBottom(node);
 108         assertNull(borderpane.getCenter());
 109         assertNull(borderpane.getLeft());
 110         assertNull(borderpane.getRight());
 111         assertSame(node, borderpane.getBottom());
 112         assertNull(borderpane.getTop());
 113 
 114         borderpane.autosize();
 115         borderpane.layout();
 116         assertEquals(0, node.getLayoutX(), 1e-100);
 117         assertEquals(0, node.getLayoutY(), 1e-100);
 118         assertEquals(100, node.getWidth(), 1e-100);
 119         assertEquals(200, node.getHeight(), 1e-100);
 120 
 121         borderpane.getChildren().remove(node);
 122         assertNull(borderpane.getBottom());
 123 
 124         borderpane.setTop(node);
 125         assertNull(borderpane.getCenter());
 126         assertNull(borderpane.getLeft());
 127         assertNull(borderpane.getRight());
 128         assertNull(borderpane.getBottom());
 129         assertSame(node, borderpane.getTop());
 130 
 131         borderpane.autosize();
 132         borderpane.layout();
 133         assertEquals(0, node.getLayoutX(), 1e-100);
 134         assertEquals(0, node.getLayoutY(), 1e-100);
 135         assertEquals(100, node.getWidth(), 1e-100);
 136         assertEquals(200, node.getHeight(), 1e-100);
 137 
 138         borderpane.getChildren().remove(node);
 139         assertNull(borderpane.getTop());
 140 
 141     }
 142 
 143     @Test public void testCenterChildOnly() {
 144         MockResizable center = new MockResizable(10,20, 100,200, 700,800);
 145         borderpane.setCenter(center);
 146 
 147         assertEquals(center, borderpane.getCenter());
 148         assertEquals(1, borderpane.getChildren().size());
 149         assertEquals(center, borderpane.getChildren().get(0));
 150         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 151         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 152         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 153         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 154         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 155         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 156 
 157         borderpane.autosize();
 158         borderpane.layout();
 159         assertEquals(0, center.getLayoutX(), 1e-100);
 160         assertEquals(0, center.getLayoutY(), 1e-100);
 161         assertEquals(100, center.getWidth(), 1e-100);
 162         assertEquals(200, center.getHeight(), 1e-100);
 163 
 164     }
 165 
 166     @Test public void testTopChildOnly() {
 167         MockResizable top = new MockResizable(10,20, 100,200, 700,800);
 168         borderpane.setTop(top);
 169 
 170         assertEquals(top, borderpane.getTop());
 171         assertEquals(1, borderpane.getChildren().size());
 172         assertEquals(top, borderpane.getChildren().get(0));
 173         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 174         assertEquals(200, borderpane.minHeight(-1), 1e-100); // Top is always at it's pref height
 175         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 176         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 177         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 178         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 179 
 180         borderpane.autosize();
 181         borderpane.layout();
 182         assertEquals(0, top.getLayoutX(), 1e-100);
 183         assertEquals(0, top.getLayoutY(), 1e-100);
 184         assertEquals(100, top.getWidth(), 1e-100);
 185         assertEquals(200, top.getHeight(), 1e-100);
 186     }
 187 
 188     @Test public void testBottomChildOnly() {
 189         MockResizable bottom = new MockResizable(10,20, 100,200, 700,800);
 190         borderpane.setBottom(bottom);
 191 
 192         assertEquals(bottom, borderpane.getBottom());
 193         assertEquals(1, borderpane.getChildren().size());
 194         assertEquals(bottom, borderpane.getChildren().get(0));
 195         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 196         assertEquals(200, borderpane.minHeight(-1), 1e-100);  // Bottom is always at it's pref height
 197         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 198         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 199         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 200         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 201 
 202         borderpane.autosize();
 203         borderpane.layout();
 204         assertEquals(0, bottom.getLayoutX(), 1e-100);
 205         assertEquals(0, bottom.getLayoutY(), 1e-100);
 206         assertEquals(100, bottom.getWidth(), 1e-100);
 207         assertEquals(200, bottom.getHeight(), 1e-100);
 208     }
 209 
 210     @Test public void testRightChildOnly() {
 211         MockResizable right = new MockResizable(10,20, 100,200, 700,800);
 212         borderpane.setRight(right);
 213 
 214         assertEquals(right, borderpane.getRight());
 215         assertEquals(1, borderpane.getChildren().size());
 216         assertEquals(right, borderpane.getChildren().get(0));
 217         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 218         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 219         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 220         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 221         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 222         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 223 
 224         borderpane.autosize();
 225         borderpane.layout();
 226         assertEquals(0, right.getLayoutX(), 1e-100);
 227         assertEquals(0, right.getLayoutY(), 1e-100);
 228         assertEquals(100, right.getWidth(), 1e-100);
 229         assertEquals(200, right.getHeight(), 1e-100);
 230     }
 231 
 232     @Test public void testLeftChildOnly() {
 233         MockResizable left = new MockResizable(10,20, 100,200, 700,800);
 234         borderpane.setLeft(left);
 235 
 236         assertEquals(left, borderpane.getLeft());
 237         assertEquals(1, borderpane.getChildren().size());
 238         assertEquals(left, borderpane.getChildren().get(0));
 239         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 240         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 241         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 242         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 243         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 244         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 245 
 246         borderpane.autosize();
 247         borderpane.layout();
 248         assertEquals(0, left.getLayoutX(), 1e-100);
 249         assertEquals(0, left.getLayoutY(), 1e-100);
 250         assertEquals(100, left.getWidth(), 1e-100);
 251         assertEquals(200, left.getHeight(), 1e-100);
 252     }
 253 
 254     @Test public void testChildrenInAllPositions() {
 255         MockResizable center = new MockResizable(10,20, 100,200, 1000,1000);
 256         borderpane.setCenter(center);
 257         MockResizable top = new MockResizable(100,10, 200, 20, 1000,1000);
 258         borderpane.setTop(top);
 259         MockResizable bottom = new MockResizable(80,8, 220,22, 1000,1000);
 260         borderpane.setBottom(bottom);
 261         MockResizable left = new MockResizable(10,100, 15,150, 1000,1000);
 262         borderpane.setLeft(left);
 263         MockResizable right = new MockResizable(50,115, 60,120, 1000,1000);
 264         borderpane.setRight(right);
 265 
 266         assertEquals(5, borderpane.getChildren().size());
 267         assertEquals(center, borderpane.getCenter());
 268         assertEquals(top, borderpane.getTop());
 269         assertEquals(bottom, borderpane.getBottom());
 270         assertEquals(left, borderpane.getLeft());
 271         assertEquals(right, borderpane.getRight());
 272         assertTrue(borderpane.getChildren().contains(center));
 273         assertTrue(borderpane.getChildren().contains(top));
 274         assertTrue(borderpane.getChildren().contains(bottom));
 275         assertTrue(borderpane.getChildren().contains(left));
 276         assertTrue(borderpane.getChildren().contains(right));
 277 
 278         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 279         assertEquals(top.prefHeight(-1) + bottom.prefHeight(-1) +
 280                 Math.max(center.minHeight(-1), Math.max(left.minHeight(-1), right.minHeight(-1))),
 281                 borderpane.minHeight(-1), 1e-100);
 282         assertEquals(220, borderpane.prefWidth(-1), 1e-100);
 283         assertEquals(242, borderpane.prefHeight(-1), 1e-100);
 284         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 285         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 286 
 287         borderpane.autosize();
 288         borderpane.layout();
 289         assertEquals(0, top.getLayoutX(), 1e-100);
 290         assertEquals(0, top.getLayoutY(), 1e-100);
 291         assertEquals(220, top.getWidth(), 1e-100);
 292         assertEquals(20, top.getHeight(), 1e-100);
 293 
 294         assertEquals(0, left.getLayoutX(), 1e-100);
 295         assertEquals(20, left.getLayoutY(), 1e-100);
 296         assertEquals(15, left.getWidth(), 1e-100);




   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 test.javafx.scene.layout.MockBiased;
  29 import javafx.geometry.Insets;
  30 import static org.junit.Assert.*;
  31 import javafx.geometry.Orientation;
  32 import javafx.scene.ParentShim;
  33 import javafx.scene.layout.BorderPane;
  34 import org.junit.Before;
  35 import org.junit.Ignore;
  36 
  37 import org.junit.Test;
  38 
  39 
  40 public class BorderPaneTest {
  41 
  42     BorderPane borderpane;
  43 
  44     @Before public void setUp() {
  45         this.borderpane = new BorderPane();
  46     }
  47 
  48     @Test public void testEmptyBorderPane() {
  49         assertNull(borderpane.getTop());
  50         assertNull(borderpane.getCenter());
  51         assertNull(borderpane.getBottom());
  52         assertNull(borderpane.getLeft());
  53         assertNull(borderpane.getRight());
  54     }
  55 
  56     @Test public void testChildrenRemovedDirectly() {
  57         MockResizable node = new MockResizable(10,20, 100,200, 700,800);
  58 
  59         borderpane.setCenter(node);
  60         assertSame(node, borderpane.getCenter());
  61         assertNull(borderpane.getLeft());
  62         assertNull(borderpane.getRight());
  63         assertNull(borderpane.getBottom());
  64         assertNull(borderpane.getTop());
  65 
  66         borderpane.autosize();
  67         borderpane.layout();
  68         assertEquals(0, node.getLayoutX(), 1e-100);
  69         assertEquals(0, node.getLayoutY(), 1e-100);
  70         assertEquals(100, node.getWidth(), 1e-100);
  71         assertEquals(200, node.getHeight(), 1e-100);
  72 
  73         ParentShim.getChildren(borderpane).remove(node);
  74         assertNull(borderpane.getCenter());
  75 
  76         borderpane.setLeft(node);
  77         assertNull(borderpane.getCenter());
  78         assertSame(node, borderpane.getLeft());
  79         assertNull(borderpane.getRight());
  80         assertNull(borderpane.getBottom());
  81         assertNull(borderpane.getTop());
  82 
  83         borderpane.autosize();
  84         borderpane.layout();
  85         assertEquals(0, node.getLayoutX(), 1e-100);
  86         assertEquals(0, node.getLayoutY(), 1e-100);
  87         assertEquals(100, node.getWidth(), 1e-100);
  88         assertEquals(200, node.getHeight(), 1e-100);
  89 
  90         ParentShim.getChildren(borderpane).remove(node);
  91         assertNull(borderpane.getLeft());
  92 
  93         borderpane.setRight(node);
  94         assertNull(borderpane.getCenter());
  95         assertNull(borderpane.getLeft());
  96         assertSame(node, borderpane.getRight());
  97         assertNull(borderpane.getBottom());
  98         assertNull(borderpane.getTop());
  99 
 100         borderpane.autosize();
 101         borderpane.layout();
 102         assertEquals(0, node.getLayoutX(), 1e-100);
 103         assertEquals(0, node.getLayoutY(), 1e-100);
 104         assertEquals(100, node.getWidth(), 1e-100);
 105         assertEquals(200, node.getHeight(), 1e-100);
 106 
 107         ParentShim.getChildren(borderpane).remove(node);
 108         assertNull(borderpane.getRight());
 109 
 110         borderpane.setBottom(node);
 111         assertNull(borderpane.getCenter());
 112         assertNull(borderpane.getLeft());
 113         assertNull(borderpane.getRight());
 114         assertSame(node, borderpane.getBottom());
 115         assertNull(borderpane.getTop());
 116 
 117         borderpane.autosize();
 118         borderpane.layout();
 119         assertEquals(0, node.getLayoutX(), 1e-100);
 120         assertEquals(0, node.getLayoutY(), 1e-100);
 121         assertEquals(100, node.getWidth(), 1e-100);
 122         assertEquals(200, node.getHeight(), 1e-100);
 123 
 124         ParentShim.getChildren(borderpane).remove(node);
 125         assertNull(borderpane.getBottom());
 126 
 127         borderpane.setTop(node);
 128         assertNull(borderpane.getCenter());
 129         assertNull(borderpane.getLeft());
 130         assertNull(borderpane.getRight());
 131         assertNull(borderpane.getBottom());
 132         assertSame(node, borderpane.getTop());
 133 
 134         borderpane.autosize();
 135         borderpane.layout();
 136         assertEquals(0, node.getLayoutX(), 1e-100);
 137         assertEquals(0, node.getLayoutY(), 1e-100);
 138         assertEquals(100, node.getWidth(), 1e-100);
 139         assertEquals(200, node.getHeight(), 1e-100);
 140 
 141         ParentShim.getChildren(borderpane).remove(node);
 142         assertNull(borderpane.getTop());
 143 
 144     }
 145 
 146     @Test public void testCenterChildOnly() {
 147         MockResizable center = new MockResizable(10,20, 100,200, 700,800);
 148         borderpane.setCenter(center);
 149 
 150         assertEquals(center, borderpane.getCenter());
 151         assertEquals(1, ParentShim.getChildren(borderpane).size());
 152         assertEquals(center, ParentShim.getChildren(borderpane).get(0));
 153         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 154         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 155         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 156         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 157         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 158         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 159 
 160         borderpane.autosize();
 161         borderpane.layout();
 162         assertEquals(0, center.getLayoutX(), 1e-100);
 163         assertEquals(0, center.getLayoutY(), 1e-100);
 164         assertEquals(100, center.getWidth(), 1e-100);
 165         assertEquals(200, center.getHeight(), 1e-100);
 166 
 167     }
 168 
 169     @Test public void testTopChildOnly() {
 170         MockResizable top = new MockResizable(10,20, 100,200, 700,800);
 171         borderpane.setTop(top);
 172 
 173         assertEquals(top, borderpane.getTop());
 174         assertEquals(1, ParentShim.getChildren(borderpane).size());
 175         assertEquals(top, ParentShim.getChildren(borderpane).get(0));
 176         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 177         assertEquals(200, borderpane.minHeight(-1), 1e-100); // Top is always at it's pref height
 178         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 179         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 180         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 181         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 182 
 183         borderpane.autosize();
 184         borderpane.layout();
 185         assertEquals(0, top.getLayoutX(), 1e-100);
 186         assertEquals(0, top.getLayoutY(), 1e-100);
 187         assertEquals(100, top.getWidth(), 1e-100);
 188         assertEquals(200, top.getHeight(), 1e-100);
 189     }
 190 
 191     @Test public void testBottomChildOnly() {
 192         MockResizable bottom = new MockResizable(10,20, 100,200, 700,800);
 193         borderpane.setBottom(bottom);
 194 
 195         assertEquals(bottom, borderpane.getBottom());
 196         assertEquals(1, ParentShim.getChildren(borderpane).size());
 197         assertEquals(bottom, ParentShim.getChildren(borderpane).get(0));
 198         assertEquals(10, borderpane.minWidth(-1), 1e-100);
 199         assertEquals(200, borderpane.minHeight(-1), 1e-100);  // Bottom is always at it's pref height
 200         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 201         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 202         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 203         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 204 
 205         borderpane.autosize();
 206         borderpane.layout();
 207         assertEquals(0, bottom.getLayoutX(), 1e-100);
 208         assertEquals(0, bottom.getLayoutY(), 1e-100);
 209         assertEquals(100, bottom.getWidth(), 1e-100);
 210         assertEquals(200, bottom.getHeight(), 1e-100);
 211     }
 212 
 213     @Test public void testRightChildOnly() {
 214         MockResizable right = new MockResizable(10,20, 100,200, 700,800);
 215         borderpane.setRight(right);
 216 
 217         assertEquals(right, borderpane.getRight());
 218         assertEquals(1, ParentShim.getChildren(borderpane).size());
 219         assertEquals(right, ParentShim.getChildren(borderpane).get(0));
 220         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 221         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 222         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 223         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 224         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 225         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 226 
 227         borderpane.autosize();
 228         borderpane.layout();
 229         assertEquals(0, right.getLayoutX(), 1e-100);
 230         assertEquals(0, right.getLayoutY(), 1e-100);
 231         assertEquals(100, right.getWidth(), 1e-100);
 232         assertEquals(200, right.getHeight(), 1e-100);
 233     }
 234 
 235     @Test public void testLeftChildOnly() {
 236         MockResizable left = new MockResizable(10,20, 100,200, 700,800);
 237         borderpane.setLeft(left);
 238 
 239         assertEquals(left, borderpane.getLeft());
 240         assertEquals(1, ParentShim.getChildren(borderpane).size());
 241         assertEquals(left, ParentShim.getChildren(borderpane).get(0));
 242         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 243         assertEquals(20, borderpane.minHeight(-1), 1e-100);
 244         assertEquals(100, borderpane.prefWidth(-1), 1e-100);
 245         assertEquals(200, borderpane.prefHeight(-1), 1e-100);
 246         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 247         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 248 
 249         borderpane.autosize();
 250         borderpane.layout();
 251         assertEquals(0, left.getLayoutX(), 1e-100);
 252         assertEquals(0, left.getLayoutY(), 1e-100);
 253         assertEquals(100, left.getWidth(), 1e-100);
 254         assertEquals(200, left.getHeight(), 1e-100);
 255     }
 256 
 257     @Test public void testChildrenInAllPositions() {
 258         MockResizable center = new MockResizable(10,20, 100,200, 1000,1000);
 259         borderpane.setCenter(center);
 260         MockResizable top = new MockResizable(100,10, 200, 20, 1000,1000);
 261         borderpane.setTop(top);
 262         MockResizable bottom = new MockResizable(80,8, 220,22, 1000,1000);
 263         borderpane.setBottom(bottom);
 264         MockResizable left = new MockResizable(10,100, 15,150, 1000,1000);
 265         borderpane.setLeft(left);
 266         MockResizable right = new MockResizable(50,115, 60,120, 1000,1000);
 267         borderpane.setRight(right);
 268 
 269         assertEquals(5, ParentShim.getChildren(borderpane).size());
 270         assertEquals(center, borderpane.getCenter());
 271         assertEquals(top, borderpane.getTop());
 272         assertEquals(bottom, borderpane.getBottom());
 273         assertEquals(left, borderpane.getLeft());
 274         assertEquals(right, borderpane.getRight());
 275         assertTrue(ParentShim.getChildren(borderpane).contains(center));
 276         assertTrue(ParentShim.getChildren(borderpane).contains(top));
 277         assertTrue(ParentShim.getChildren(borderpane).contains(bottom));
 278         assertTrue(ParentShim.getChildren(borderpane).contains(left));
 279         assertTrue(ParentShim.getChildren(borderpane).contains(right));
 280 
 281         assertEquals(100, borderpane.minWidth(-1), 1e-100);
 282         assertEquals(top.prefHeight(-1) + bottom.prefHeight(-1) +
 283                 Math.max(center.minHeight(-1), Math.max(left.minHeight(-1), right.minHeight(-1))),
 284                 borderpane.minHeight(-1), 1e-100);
 285         assertEquals(220, borderpane.prefWidth(-1), 1e-100);
 286         assertEquals(242, borderpane.prefHeight(-1), 1e-100);
 287         assertEquals(Double.MAX_VALUE, borderpane.maxWidth(-1), 1e-100);
 288         assertEquals(Double.MAX_VALUE, borderpane.maxHeight(-1), 1e-100);
 289 
 290         borderpane.autosize();
 291         borderpane.layout();
 292         assertEquals(0, top.getLayoutX(), 1e-100);
 293         assertEquals(0, top.getLayoutY(), 1e-100);
 294         assertEquals(220, top.getWidth(), 1e-100);
 295         assertEquals(20, top.getHeight(), 1e-100);
 296 
 297         assertEquals(0, left.getLayoutX(), 1e-100);
 298         assertEquals(20, left.getLayoutY(), 1e-100);
 299         assertEquals(15, left.getWidth(), 1e-100);