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 javafx.scene.layout; 27 28 import javafx.css.ParsedValue; 29 import javafx.css.CssMetaData; 30 import javafx.css.CssParser; 31 import javafx.css.StyleableProperty; 32 import static org.junit.Assert.assertEquals; 33 import static org.junit.Assert.assertNull; 34 import javafx.geometry.Insets; 35 import javafx.geometry.Orientation; 36 import javafx.geometry.Pos; 37 import javafx.scene.Node; 38 import javafx.scene.Scene; 39 import javafx.scene.shape.Rectangle; 40 import javafx.stage.Stage; 41 import org.junit.Assert; 42 43 import org.junit.Before; 44 import org.junit.Test; 45 46 47 public class TilePaneTest { 48 49 TilePane tilepane; 50 TilePane htilepane; 51 TilePane vtilepane; 52 53 @Before public void setUp() { 54 tilepane = new TilePane(); // 12 children 55 for(int i = 0; i < 6; i++) { 56 MockResizable child1 = new MockResizable(50,60, 100,200, 500,600); 57 Rectangle child2 = new Rectangle(100, 100); 58 tilepane.getChildren().addAll(child1, child2); 59 } 60 61 htilepane = new TilePane(Orientation.HORIZONTAL); // 8 children 62 for(int i = 0; i < 4; i++) { 63 MockResizable child1 = new MockResizable(200,300); 64 Rectangle child2 = new Rectangle(100, 100); 65 htilepane.getChildren().addAll(child1, child2); 66 } 67 68 vtilepane = new TilePane(Orientation.VERTICAL); // 8 children 69 for(int i = 0; i < 4; i++) { 70 MockResizable child1 = new MockResizable(200,300); 71 Rectangle child2 = new Rectangle(100, 100); 72 vtilepane.getChildren().addAll(child1, child2); 73 } 74 75 } 76 77 @Test public void testOrientationDefaultsToHorizontal() { 78 assertEquals(Orientation.HORIZONTAL, tilepane.getOrientation()); 79 } 80 81 @Test public void testPrefColumnsDefault() { 82 assertEquals(5, tilepane.getPrefColumns()); 83 } 84 85 @Test public void testPrefRowsDefault() { 86 assertEquals(5, vtilepane.getPrefColumns()); 87 } 88 89 @Test public void testPrefTileWidthDefaultsToUSE_COMPUTED_SIZE() { 90 assertEquals(Region.USE_COMPUTED_SIZE, tilepane.getPrefTileWidth(), 0); 91 } 92 93 @Test public void testPrefTileHeightDefaultsToUSE_COMPUTED_SIZE() { 94 assertEquals(Region.USE_COMPUTED_SIZE, tilepane.getPrefTileHeight(), 0); 95 } 96 97 @Test public void testAlignmentDefaultsToTopLeft() { 98 assertEquals(Pos.TOP_LEFT, tilepane.getAlignment()); 99 } 100 101 @Test public void testTileAlignmentDefaultsToCenter() { 102 assertEquals(Pos.CENTER, tilepane.getTileAlignment()); 103 } 104 105 @Test public void testTilePaneNulls() { 106 tilepane.setAlignment(null); 107 tilepane.setTileAlignment(null); 108 tilepane.setOrientation(null); 109 110 // this musn't throw NPE 111 tilepane.autosize(); 112 tilepane.layout(); 113 114 assertNull(null, tilepane.getAlignment()); 115 assertNull(null, tilepane.getTileAlignment()); 116 assertNull(null, tilepane.getOrientation()); 117 assertNull(null, tilepane.alignmentProperty().get()); 118 assertNull(null, tilepane.tileAlignmentProperty().get()); 119 assertNull(null, tilepane.orientationProperty().get()); 120 } 121 122 @Test public void testHorizontalTilePaneMinSize() { 123 assertEquals(200, htilepane.minWidth(-1), 1e-100); 124 assertEquals(2400, htilepane.minHeight(100), 1e-100); 125 } 126 127 @Test public void testHorizontalTilePanePrefSize() { 128 assertEquals(1000, htilepane.prefWidth(-1), 1e-100); 129 assertEquals(600, htilepane.prefHeight(-1), 1e-100); 130 } 131 132 @Test public void testVerticalTilePaneMinSize() { 133 assertEquals(300, vtilepane.minHeight(-1), 1e-100); 134 assertEquals(1600, vtilepane.minWidth(300), 1e-100); 135 } 136 137 @Test public void testVerticalTilePanePrefSize() { 138 assertEquals(1500, vtilepane.prefHeight(-1), 1e-100); 139 assertEquals(400, vtilepane.prefWidth(-1), 1e-100); 140 } 141 142 143 @Test public void testEmptyHorizontalTilePaneMinWidthIsZero() { 144 TilePane Tilepane = new TilePane(); 145 146 assertEquals(0, Tilepane.minWidth(-1), 0); 147 } 148 149 @Test public void testEmptyHorizontalTilePaneMinHeightIsZero() { 150 TilePane Tilepane = new TilePane(); 151 152 assertEquals(0, Tilepane.minHeight(-1), 0); 153 } 154 155 @Test public void testEmptyVerticalTilePaneMinWidthIsZero() { 156 TilePane Tilepane = new TilePane(Orientation.VERTICAL); 157 158 assertEquals(0, Tilepane.minWidth(-1), 0); 159 } 160 161 @Test public void testEmptyVerticalTilePaneMinHeightIsZero() { 162 TilePane Tilepane = new TilePane(Orientation.VERTICAL); 163 164 assertEquals(0, Tilepane.minHeight(-1), 0); 165 } 166 167 @Test public void testLayoutWithPrefSize() { 168 tilepane.autosize(); 169 tilepane.layout(); 170 171 // test a handful 172 Node first = tilepane.getChildren().get(0); 173 Node last = tilepane.getChildren().get(11); 174 175 assertEquals(0, first.getLayoutX(), 1e-100); 176 assertEquals(0, first.getLayoutY(), 1e-100); 177 assertEquals(100, first.getLayoutBounds().getWidth(), 1e-100); 178 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 179 assertEquals(100, last.getLayoutX(), 1e-100); 180 assertEquals(450, last.getLayoutY(), 1e-100); 181 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 182 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 183 } 184 185 @Test public void testLayoutWithLargerThanPrefSize() { 186 tilepane.resize(800,800); 187 tilepane.layout(); 188 189 Node first = tilepane.getChildren().get(0); 190 Node last = tilepane.getChildren().get(11); 191 192 assertEquals(0, first.getLayoutX(), 1e-100); 193 assertEquals(0, first.getLayoutY(), 1e-100); 194 assertEquals(100, first.getLayoutBounds().getWidth(), 1e-100); 195 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 196 assertEquals(300, last.getLayoutX(), 1e-100); 197 assertEquals(250, last.getLayoutY(), 1e-100); 198 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 199 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 200 } 201 202 @Test public void testHorizontalTilePaneAlignmentTopLeft() { 203 htilepane.setAlignment(Pos.TOP_LEFT); 204 htilepane.resize(700,1000); 205 htilepane.layout(); 206 207 // test a handful 208 Node first = htilepane.getChildren().get(0); 209 Node last = htilepane.getChildren().get(7); 210 211 assertEquals(0, first.getLayoutX(), 1e-100); 212 assertEquals(0, first.getLayoutY(), 1e-100); 213 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 214 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 215 assertEquals(250, last.getLayoutX(), 1e-100); 216 assertEquals(700, last.getLayoutY(), 1e-100); 217 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 218 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 219 } 220 221 @Test public void testHorizontalTilePaneAlignmentTopCenter() { 222 htilepane.setAlignment(Pos.TOP_CENTER); 223 htilepane.resize(700,1000); 224 htilepane.layout(); 225 226 // test a handful 227 Node first = htilepane.getChildren().get(0); 228 Node last = htilepane.getChildren().get(7); 229 230 assertEquals(50, first.getLayoutX(), 1e-100); 231 assertEquals(0, first.getLayoutY(), 1e-100); 232 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 233 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 234 assertEquals(400, last.getLayoutX(), 1e-100); 235 assertEquals(700, last.getLayoutY(), 1e-100); 236 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 237 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 238 } 239 240 @Test public void testHorizontalTilePaneAlignmentTopRight() { 241 htilepane.setAlignment(Pos.TOP_RIGHT); 242 htilepane.resize(700,1000); 243 htilepane.layout(); 244 245 // test a handful 246 Node first = htilepane.getChildren().get(0); 247 Node last = htilepane.getChildren().get(7); 248 249 assertEquals(100, first.getLayoutX(), 1e-100); 250 assertEquals(0, first.getLayoutY(), 1e-100); 251 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 252 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 253 assertEquals(550, last.getLayoutX(), 1e-100); 254 assertEquals(700, last.getLayoutY(), 1e-100); 255 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 256 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 257 } 258 259 @Test public void testHorizontalTilePaneAlignmentCenterLeft() { 260 htilepane.setAlignment(Pos.CENTER_LEFT); 261 htilepane.resize(700,1000); 262 htilepane.layout(); 263 264 // test a handful 265 Node first = htilepane.getChildren().get(0); 266 Node last = htilepane.getChildren().get(7); 267 268 assertEquals(0, first.getLayoutX(), 1e-100); 269 assertEquals(50, first.getLayoutY(), 1e-100); 270 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 271 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 272 assertEquals(250, last.getLayoutX(), 1e-100); 273 assertEquals(750, last.getLayoutY(), 1e-100); 274 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 275 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 276 } 277 278 @Test public void testHorizontalTilePaneAlignmentCenter() { 279 htilepane.setAlignment(Pos.CENTER); 280 htilepane.resize(700,1000); 281 htilepane.layout(); 282 283 // test a handful 284 Node first = htilepane.getChildren().get(0); 285 Node last = htilepane.getChildren().get(7); 286 287 assertEquals(50, first.getLayoutX(), 1e-100); 288 assertEquals(50, first.getLayoutY(), 1e-100); 289 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 290 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 291 assertEquals(400, last.getLayoutX(), 1e-100); 292 assertEquals(750, last.getLayoutY(), 1e-100); 293 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 294 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 295 } 296 297 @Test public void testHorizontalTilePaneAlignmentCenterRight() { 298 htilepane.setAlignment(Pos.CENTER_RIGHT); 299 htilepane.resize(700,1000); 300 htilepane.layout(); 301 302 // test a handful 303 Node first = htilepane.getChildren().get(0); 304 Node last = htilepane.getChildren().get(7); 305 306 assertEquals(100, first.getLayoutX(), 1e-100); 307 assertEquals(50, first.getLayoutY(), 1e-100); 308 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 309 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 310 assertEquals(550, last.getLayoutX(), 1e-100); 311 assertEquals(750, last.getLayoutY(), 1e-100); 312 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 313 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 314 } 315 316 @Test public void testHorizontalTilePaneAlignmentBottomLeft() { 317 htilepane.setAlignment(Pos.BOTTOM_LEFT); 318 htilepane.resize(700,1000); 319 htilepane.layout(); 320 321 // test a handful 322 Node first = htilepane.getChildren().get(0); 323 Node last = htilepane.getChildren().get(7); 324 325 assertEquals(0, first.getLayoutX(), 1e-100); 326 assertEquals(100, first.getLayoutY(), 1e-100); 327 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 328 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 329 assertEquals(250, last.getLayoutX(), 1e-100); 330 assertEquals(800, last.getLayoutY(), 1e-100); 331 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 332 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 333 } 334 335 @Test public void testHorizontalTilePaneAlignmentBottomCenter() { 336 htilepane.setAlignment(Pos.BOTTOM_CENTER); 337 htilepane.resize(700,1000); 338 htilepane.layout(); 339 340 // test a handful 341 Node first = htilepane.getChildren().get(0); 342 Node last = htilepane.getChildren().get(7); 343 344 assertEquals(50, first.getLayoutX(), 1e-100); 345 assertEquals(100, first.getLayoutY(), 1e-100); 346 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 347 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 348 assertEquals(400, last.getLayoutX(), 1e-100); 349 assertEquals(800, last.getLayoutY(), 1e-100); 350 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 351 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 352 } 353 354 @Test public void testHorizontalTilePaneAlignmentBottomRight() { 355 htilepane.setAlignment(Pos.BOTTOM_RIGHT); 356 htilepane.resize(700,1000); 357 htilepane.layout(); 358 359 // test a handful 360 Node first = htilepane.getChildren().get(0); 361 Node last = htilepane.getChildren().get(7); 362 363 assertEquals(100, first.getLayoutX(), 1e-100); 364 assertEquals(100, first.getLayoutY(), 1e-100); 365 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 366 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 367 assertEquals(550, last.getLayoutX(), 1e-100); 368 assertEquals(800, last.getLayoutY(), 1e-100); 369 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 370 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 371 } 372 373 @Test public void testVerticalTilePaneAlignmentTopLeft() { 374 vtilepane.setAlignment(Pos.TOP_LEFT); 375 vtilepane.resize(700,1000); 376 vtilepane.layout(); 377 378 // test a handful 379 Node first = vtilepane.getChildren().get(0); 380 Node last = vtilepane.getChildren().get(7); 381 382 assertEquals(0, first.getLayoutX(), 1e-100); 383 assertEquals(0, first.getLayoutY(), 1e-100); 384 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 385 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 386 assertEquals(450, last.getLayoutX(), 1e-100); 387 assertEquals(400, last.getLayoutY(), 1e-100); 388 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 389 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 390 } 391 392 @Test public void testVerticalTilePaneAlignmentTopCenter() { 393 vtilepane.setAlignment(Pos.TOP_CENTER); 394 vtilepane.resize(700,1000); 395 vtilepane.layout(); 396 397 // test a handful 398 Node first = vtilepane.getChildren().get(0); 399 Node last = vtilepane.getChildren().get(7); 400 401 assertEquals(50, first.getLayoutX(), 1e-100); 402 assertEquals(0, first.getLayoutY(), 1e-100); 403 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 404 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 405 assertEquals(500, last.getLayoutX(), 1e-100); 406 assertEquals(400, last.getLayoutY(), 1e-100); 407 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 408 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 409 } 410 411 @Test public void testVerticalTilePaneAlignmentTopRight() { 412 vtilepane.setAlignment(Pos.TOP_RIGHT); 413 vtilepane.resize(700,1000); 414 vtilepane.layout(); 415 416 // test a handful 417 Node first = vtilepane.getChildren().get(0); 418 Node last = vtilepane.getChildren().get(7); 419 420 assertEquals(100, first.getLayoutX(), 1e-100); 421 assertEquals(0, first.getLayoutY(), 1e-100); 422 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 423 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 424 assertEquals(550, last.getLayoutX(), 1e-100); 425 assertEquals(400, last.getLayoutY(), 1e-100); 426 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 427 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 428 } 429 430 @Test public void testVerticalTilePaneAlignmentCenterLeft() { 431 vtilepane.setAlignment(Pos.CENTER_LEFT); 432 vtilepane.resize(700,1000); 433 vtilepane.layout(); 434 435 // test a handful 436 Node first = vtilepane.getChildren().get(0); 437 Node last = vtilepane.getChildren().get(7); 438 439 assertEquals(0, first.getLayoutX(), 1e-100); 440 assertEquals(50, first.getLayoutY(), 1e-100); 441 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 442 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 443 assertEquals(450, last.getLayoutX(), 1e-100); 444 assertEquals(600, last.getLayoutY(), 1e-100); 445 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 446 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 447 } 448 449 @Test public void testVerticalTilePaneAlignmentCenter() { 450 vtilepane.setAlignment(Pos.CENTER); 451 vtilepane.resize(700,1000); 452 vtilepane.layout(); 453 454 // test a handful 455 Node first = vtilepane.getChildren().get(0); 456 Node last = vtilepane.getChildren().get(7); 457 458 assertEquals(50, first.getLayoutX(), 1e-100); 459 assertEquals(50, first.getLayoutY(), 1e-100); 460 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 461 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 462 assertEquals(500, last.getLayoutX(), 1e-100); 463 assertEquals(600, last.getLayoutY(), 1e-100); 464 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 465 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 466 } 467 468 @Test public void testVerticalTilePaneAlignmentCenterRight() { 469 vtilepane.setAlignment(Pos.CENTER_RIGHT); 470 vtilepane.resize(700,1000); 471 vtilepane.layout(); 472 473 // test a handful 474 Node first = vtilepane.getChildren().get(0); 475 Node last = vtilepane.getChildren().get(7); 476 477 assertEquals(100, first.getLayoutX(), 1e-100); 478 assertEquals(50, first.getLayoutY(), 1e-100); 479 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 480 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 481 assertEquals(550, last.getLayoutX(), 1e-100); 482 assertEquals(600, last.getLayoutY(), 1e-100); 483 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 484 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 485 } 486 487 @Test public void testVerticalTilePaneAlignmentBottomLeft() { 488 vtilepane.setAlignment(Pos.BOTTOM_LEFT); 489 vtilepane.resize(700,1000); 490 vtilepane.layout(); 491 492 // test a handful 493 Node first = vtilepane.getChildren().get(0); 494 Node last = vtilepane.getChildren().get(7); 495 496 assertEquals(0, first.getLayoutX(), 1e-100); 497 assertEquals(100, first.getLayoutY(), 1e-100); 498 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 499 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 500 assertEquals(450, last.getLayoutX(), 1e-100); 501 assertEquals(800, last.getLayoutY(), 1e-100); 502 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 503 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 504 } 505 506 @Test public void testVerticalTilePaneAlignmentBottomCenter() { 507 vtilepane.setAlignment(Pos.BOTTOM_CENTER); 508 vtilepane.resize(700,1000); 509 vtilepane.layout(); 510 511 // test a handful 512 Node first = vtilepane.getChildren().get(0); 513 Node last = vtilepane.getChildren().get(7); 514 515 assertEquals(50, first.getLayoutX(), 1e-100); 516 assertEquals(100, first.getLayoutY(), 1e-100); 517 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 518 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 519 assertEquals(500, last.getLayoutX(), 1e-100); 520 assertEquals(800, last.getLayoutY(), 1e-100); 521 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 522 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 523 } 524 525 @Test public void testVerticalTilePaneAlignmentBottomRight() { 526 vtilepane.setAlignment(Pos.BOTTOM_RIGHT); 527 vtilepane.resize(700,1000); 528 vtilepane.layout(); 529 530 // test a handful 531 Node first = vtilepane.getChildren().get(0); 532 Node last = vtilepane.getChildren().get(7); 533 534 assertEquals(100, first.getLayoutX(), 1e-100); 535 assertEquals(100, first.getLayoutY(), 1e-100); 536 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 537 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 538 assertEquals(550, last.getLayoutX(), 1e-100); 539 assertEquals(800, last.getLayoutY(), 1e-100); 540 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 541 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 542 } 543 544 @Test public void testTileAlignmentTopLeft() { 545 htilepane.setTileAlignment(Pos.TOP_LEFT); 546 htilepane.resize(700,1000); 547 htilepane.layout(); 548 549 // test a handful 550 Node first = htilepane.getChildren().get(0); 551 Node last = htilepane.getChildren().get(7); 552 553 assertEquals(0, first.getLayoutX(), 1e-100); 554 assertEquals(0, first.getLayoutY(), 1e-100); 555 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 556 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 557 assertEquals(200, last.getLayoutX(), 1e-100); 558 assertEquals(600, last.getLayoutY(), 1e-100); 559 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 560 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 561 } 562 563 @Test public void testTileAlignmentTopCenter() { 564 htilepane.setTileAlignment(Pos.TOP_CENTER); 565 htilepane.resize(700,1000); 566 htilepane.layout(); 567 568 // test a handful 569 Node first = htilepane.getChildren().get(0); 570 Node last = htilepane.getChildren().get(7); 571 572 assertEquals(0, first.getLayoutX(), 1e-100); 573 assertEquals(0, first.getLayoutY(), 1e-100); 574 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 575 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 576 assertEquals(250, last.getLayoutX(), 1e-100); 577 assertEquals(600, last.getLayoutY(), 1e-100); 578 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 579 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 580 } 581 582 @Test public void testTileAlignmentTopRight() { 583 htilepane.setTileAlignment(Pos.TOP_RIGHT); 584 htilepane.resize(700,1000); 585 htilepane.layout(); 586 587 // test a handful 588 Node first = htilepane.getChildren().get(0); 589 Node last = htilepane.getChildren().get(7); 590 591 assertEquals(0, first.getLayoutX(), 1e-100); 592 assertEquals(0, first.getLayoutY(), 1e-100); 593 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 594 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 595 assertEquals(300, last.getLayoutX(), 1e-100); 596 assertEquals(600, last.getLayoutY(), 1e-100); 597 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 598 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 599 } 600 601 @Test public void testTileAlignmentCenterLeft() { 602 htilepane.setTileAlignment(Pos.CENTER_LEFT); 603 htilepane.resize(700,1000); 604 htilepane.layout(); 605 606 // test a handful 607 Node first = htilepane.getChildren().get(0); 608 Node last = htilepane.getChildren().get(7); 609 610 assertEquals(0, first.getLayoutX(), 1e-100); 611 assertEquals(0, first.getLayoutY(), 1e-100); 612 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 613 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 614 assertEquals(200, last.getLayoutX(), 1e-100); 615 assertEquals(700, last.getLayoutY(), 1e-100); 616 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 617 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 618 } 619 620 @Test public void testTileAlignmentCenter() { 621 htilepane.setTileAlignment(Pos.CENTER); 622 htilepane.resize(700,1000); 623 htilepane.layout(); 624 625 // test a handful 626 Node first = htilepane.getChildren().get(0); 627 Node last = htilepane.getChildren().get(7); 628 629 assertEquals(0, first.getLayoutX(), 1e-100); 630 assertEquals(0, first.getLayoutY(), 1e-100); 631 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 632 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 633 assertEquals(250, last.getLayoutX(), 1e-100); 634 assertEquals(700, last.getLayoutY(), 1e-100); 635 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 636 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 637 } 638 639 @Test public void testTileAlignmentCenterRight() { 640 htilepane.setTileAlignment(Pos.CENTER_RIGHT); 641 htilepane.resize(700,1000); 642 htilepane.layout(); 643 644 // test a handful 645 Node first = htilepane.getChildren().get(0); 646 Node last = htilepane.getChildren().get(7); 647 648 assertEquals(0, first.getLayoutX(), 1e-100); 649 assertEquals(0, first.getLayoutY(), 1e-100); 650 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 651 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 652 assertEquals(300, last.getLayoutX(), 1e-100); 653 assertEquals(700, last.getLayoutY(), 1e-100); 654 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 655 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 656 } 657 658 @Test public void testTileAlignmentBottomLeft() { 659 htilepane.setTileAlignment(Pos.BOTTOM_LEFT); 660 htilepane.resize(700,1000); 661 htilepane.layout(); 662 663 // test a handful 664 Node first = htilepane.getChildren().get(0); 665 Node last = htilepane.getChildren().get(7); 666 667 assertEquals(0, first.getLayoutX(), 1e-100); 668 assertEquals(0, first.getLayoutY(), 1e-100); 669 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 670 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 671 assertEquals(200, last.getLayoutX(), 1e-100); 672 assertEquals(800, last.getLayoutY(), 1e-100); 673 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 674 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 675 } 676 677 @Test public void testTileAlignmentBottomCenter() { 678 htilepane.setTileAlignment(Pos.BOTTOM_CENTER); 679 htilepane.resize(700,1000); 680 htilepane.layout(); 681 682 // test a handful 683 Node first = htilepane.getChildren().get(0); 684 Node last = htilepane.getChildren().get(7); 685 686 assertEquals(0, first.getLayoutX(), 1e-100); 687 assertEquals(0, first.getLayoutY(), 1e-100); 688 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 689 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 690 assertEquals(250, last.getLayoutX(), 1e-100); 691 assertEquals(800, last.getLayoutY(), 1e-100); 692 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 693 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 694 } 695 696 @Test public void testTileAlignmentBottomRight() { 697 htilepane.setTileAlignment(Pos.BOTTOM_RIGHT); 698 htilepane.resize(700,1000); 699 htilepane.layout(); 700 701 // test a handful 702 Node first = htilepane.getChildren().get(0); 703 Node last = htilepane.getChildren().get(7); 704 705 assertEquals(0, first.getLayoutX(), 1e-100); 706 assertEquals(0, first.getLayoutY(), 1e-100); 707 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 708 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 709 assertEquals(300, last.getLayoutX(), 1e-100); 710 assertEquals(800, last.getLayoutY(), 1e-100); 711 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 712 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 713 } 714 715 @Test public void testSetMarginConstraint() { 716 MockResizable child1 = new MockResizable(100,200, 300,400, 500,600); 717 718 assertNull(TilePane.getMargin(child1)); 719 720 Insets margin = new Insets(10,20,30,40); 721 TilePane.setMargin(child1, margin); 722 assertEquals(margin, TilePane.getMargin(child1)); 723 724 TilePane.setMargin(child1, null); 725 assertNull(TilePane.getMargin(child1)); 726 } 727 728 @Test public void testMarginConstraint() { 729 TilePane tilepane = new TilePane(); 730 731 for(int i = 0; i < 6; i++) { 732 MockResizable child1 = new MockResizable(50,60, 100,200, 500,600); 733 Rectangle child2 = new Rectangle(100, 100); 734 tilepane.getChildren().addAll(child1, child2); 735 } 736 737 // test a handful 738 Node first = tilepane.getChildren().get(0); 739 Node last = tilepane.getChildren().get(11); 740 741 TilePane.setMargin(first, new Insets(10,20,30,40)); 742 743 assertEquals(160, tilepane.minWidth(-1), 1e-100); 744 assertEquals(720, tilepane.minHeight(-1), 1e-100); 745 assertEquals(800, tilepane.prefWidth(-1), 1e-100); 746 assertEquals(720, tilepane.prefHeight(-1), 1e-100); 747 748 tilepane.autosize(); 749 tilepane.layout(); 750 751 assertEquals(40, first.getLayoutX(), 1e-100); 752 assertEquals(10, first.getLayoutY(), 1e-100); 753 assertEquals(100, first.getLayoutBounds().getWidth(), 1e-100); 754 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 755 assertEquals(190, last.getLayoutX(), 1e-100); 756 assertEquals(550, last.getLayoutY(), 1e-100); 757 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 758 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 759 760 761 } 762 763 @Test public void testSetAlignmentConstraint() { 764 MockResizable child1 = new MockResizable(100,200, 300,400, 500,600); 765 766 assertNull(TilePane.getAlignment(child1)); 767 768 TilePane.setAlignment(child1, Pos.TOP_LEFT); 769 assertEquals(Pos.TOP_LEFT, TilePane.getAlignment(child1)); 770 771 TilePane.setAlignment(child1, null); 772 assertNull(TilePane.getAlignment(child1)); 773 } 774 775 @Test public void testHorizontalTilePaneAlignmentConstraint() { 776 TilePane tilepane = new TilePane(); 777 778 for(int i = 0; i < 6; i++) { 779 MockResizable child1 = new MockResizable(50,60, 100,200, 500,600); 780 Rectangle child2 = new Rectangle(100, 100); 781 tilepane.getChildren().addAll(child1, child2); 782 } 783 784 assertEquals(100, tilepane.minWidth(-1), 1e-100); 785 assertEquals(600, tilepane.minHeight(-1), 1e-100); 786 assertEquals(500, tilepane.prefWidth(-1), 1e-100); 787 assertEquals(600, tilepane.prefHeight(-1), 1e-100); 788 789 tilepane.autosize(); 790 tilepane.layout(); 791 792 // test a handful 793 Node first = tilepane.getChildren().get(0); 794 Node last = tilepane.getChildren().get(11); 795 796 TilePane.setAlignment(last, Pos.TOP_LEFT); 797 798 tilepane.autosize(); 799 tilepane.layout(); 800 801 assertEquals(0, first.getLayoutX(), 1e-100); 802 assertEquals(0, first.getLayoutY(), 1e-100); 803 assertEquals(100, first.getLayoutBounds().getWidth(), 1e-100); 804 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 805 assertEquals(100, last.getLayoutX(), 1e-100); 806 assertEquals(400, last.getLayoutY(), 1e-100); 807 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 808 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 809 810 tilepane.resize(800,800); 811 tilepane.layout(); 812 assertEquals(0, first.getLayoutX(), 1e-100); 813 assertEquals(0, first.getLayoutY(), 1e-100); 814 assertEquals(100, first.getLayoutBounds().getWidth(), 1e-100); 815 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 816 assertEquals(300, last.getLayoutX(), 1e-100); 817 assertEquals(200, last.getLayoutY(), 1e-100); 818 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 819 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 820 } 821 822 @Test public void testWithHorizontalBiasedChild() { 823 TilePane tilepane = new TilePane(); 824 825 MockBiased biased = new MockBiased(Orientation.HORIZONTAL, 100,100); 826 Rectangle rect = new Rectangle(150,50); 827 828 tilepane.getChildren().addAll(biased,rect); 829 830 assertEquals(750, tilepane.prefWidth(-1), 1e-100); 831 assertEquals(67, tilepane.prefHeight(-1), 1e-100); 832 833 tilepane.autosize(); 834 tilepane.layout(); 835 assertEquals(0, biased.getLayoutX(), 1e-100); 836 assertEquals(0, biased.getLayoutY(), 1e-100); 837 assertEquals(150, biased.getLayoutBounds().getWidth(), 1e-100); 838 assertEquals(67, biased.getLayoutBounds().getHeight(), 1e-100); 839 assertEquals(150, rect.getLayoutX(), 1e-100); 840 assertEquals(9, rect.getLayoutY(), 1e-100); 841 assertEquals(150, rect.getLayoutBounds().getWidth(), 1e-100); 842 assertEquals(50, rect.getLayoutBounds().getHeight(), 1e-100); 843 844 } 845 846 @Test public void testWithVerticalBiasedChild() { 847 TilePane tilepane = new TilePane(); 848 849 MockBiased biased = new MockBiased(Orientation.VERTICAL, 100,100); 850 Rectangle rect = new Rectangle(50,150); 851 852 tilepane.getChildren().addAll(biased,rect); 853 854 assertEquals(335.00, tilepane.prefWidth(-1), 1e-100); 855 assertEquals(150, tilepane.prefHeight(-1), 1e-100); 856 857 tilepane.autosize(); 858 tilepane.layout(); 859 assertEquals(0, biased.getLayoutX(), 1e-100); 860 assertEquals(0, biased.getLayoutY(), 1e-100); 861 assertEquals(67, biased.getLayoutBounds().getWidth(), 1e-100); 862 assertEquals(150, biased.getLayoutBounds().getHeight(), 1e-100); 863 assertEquals(76, rect.getLayoutX(), 1e-100); 864 assertEquals(0, rect.getLayoutY(), 1e-100); 865 assertEquals(50, rect.getLayoutBounds().getWidth(), 1e-100); 866 assertEquals(150, rect.getLayoutBounds().getHeight(), 1e-100); 867 } 868 869 @Test public void testHorizontalTilePaneWithFixedTileWidth() { 870 TilePane tilepane = new TilePane(); 871 tilepane.setPrefColumns(3); 872 tilepane.setPrefTileWidth(200); 873 874 for(int i = 0; i < 4; i++) { 875 MockResizable child1 = new MockResizable(150,300); 876 Rectangle child2 = new Rectangle(100, 100); 877 tilepane.getChildren().addAll(child1, child2); 878 } 879 880 assertEquals(200, tilepane.getTileWidth(), 0); 881 assertEquals(300, tilepane.getTileHeight(), 0); 882 883 assertEquals(600, tilepane.prefWidth(-1), 0); 884 assertEquals(900, tilepane.prefHeight(-1), 0); 885 886 tilepane.autosize(); 887 tilepane.layout(); 888 889 assertEquals(200, tilepane.getTileWidth(), 0); 890 assertEquals(300, tilepane.getTileHeight(), 0); 891 892 // test a handful 893 Node first = tilepane.getChildren().get(0); 894 Node last = tilepane.getChildren().get(7); 895 896 assertEquals(0, first.getLayoutX(), 1e-100); 897 assertEquals(0, first.getLayoutY(), 1e-100); 898 assertEquals(200, first.getLayoutBounds().getWidth(), 1e-100); 899 assertEquals(300, first.getLayoutBounds().getHeight(), 1e-100); 900 assertEquals(250, last.getLayoutX(), 1e-100); 901 assertEquals(700, last.getLayoutY(), 1e-100); 902 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 903 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 904 } 905 906 @Test public void testHorizontalTilePaneWithFixedTileHeight() { 907 TilePane tilepane = new TilePane(); 908 tilepane.setPrefColumns(3); 909 tilepane.setPrefTileHeight(200); 910 911 for(int i = 0; i < 4; i++) { 912 MockResizable child1 = new MockResizable(300,150); 913 Rectangle child2 = new Rectangle(100, 100); 914 tilepane.getChildren().addAll(child1, child2); 915 } 916 917 918 assertEquals(300, tilepane.getTileWidth(), 0); 919 assertEquals(200, tilepane.getTileHeight(), 0); 920 921 assertEquals(900, tilepane.prefWidth(-1), 0); 922 assertEquals(600, tilepane.prefHeight(-1), 0); 923 924 tilepane.autosize(); 925 tilepane.layout(); 926 927 assertEquals(300, tilepane.getTileWidth(), 0); 928 assertEquals(200, tilepane.getTileHeight(), 0); 929 930 // test a handful 931 Node first = tilepane.getChildren().get(0); 932 Node last = tilepane.getChildren().get(7); 933 934 assertEquals(0, first.getLayoutX(), 1e-100); 935 assertEquals(0, first.getLayoutY(), 1e-100); 936 assertEquals(300, first.getLayoutBounds().getWidth(), 1e-100); 937 assertEquals(200, first.getLayoutBounds().getHeight(), 1e-100); 938 assertEquals(400, last.getLayoutX(), 1e-100); 939 assertEquals(450, last.getLayoutY(), 1e-100); 940 assertEquals(100, last.getLayoutBounds().getWidth(), 1e-100); 941 assertEquals(100, last.getLayoutBounds().getHeight(), 1e-100); 942 } 943 944 @Test public void testHorizontalTilePaneWithPrefSize() { 945 TilePane tilepane = new TilePane(Orientation.HORIZONTAL); 946 tilepane.setPrefSize(100,100); 947 948 for(int i = 0; i < 8; i++) { 949 Rectangle child = new Rectangle(40, 40); 950 tilepane.getChildren().add(child); 951 } 952 953 954 assertEquals(40, tilepane.getTileWidth(), 0); 955 assertEquals(40, tilepane.getTileHeight(), 0); 956 957 assertEquals(100, tilepane.prefWidth(-1), 0); 958 assertEquals(100, tilepane.prefHeight(-1), 0); 959 960 tilepane.autosize(); 961 tilepane.layout(); 962 963 assertEquals(40, tilepane.getTileWidth(), 0); 964 assertEquals(40, tilepane.getTileHeight(), 0); 965 966 Node first = tilepane.getChildren().get(0); 967 968 assertEquals(0, first.getLayoutX(), 1e-100); 969 assertEquals(0, first.getLayoutY(), 1e-100); 970 assertEquals(100, tilepane.getLayoutBounds().getWidth(), 1e-100); 971 assertEquals(160, tilepane.getLayoutBounds().getHeight(), 1e-100); 972 } 973 974 @Test public void testVerticalTilePaneWithPrefSize() { 975 TilePane tilepane = new TilePane(Orientation.VERTICAL); 976 tilepane.setPrefSize(100,100); 977 978 for(int i = 0; i < 8; i++) { 979 Rectangle child = new Rectangle(40, 40); 980 tilepane.getChildren().add(child); 981 } 982 983 assertEquals(40, tilepane.getTileWidth(), 0); 984 assertEquals(40, tilepane.getTileHeight(), 0); 985 986 assertEquals(100, tilepane.prefWidth(-1), 0); 987 assertEquals(100, tilepane.prefHeight(-1), 0); 988 tilepane.autosize(); 989 tilepane.layout(); 990 991 assertEquals(40, tilepane.getTileWidth(), 0); 992 assertEquals(40, tilepane.getTileHeight(), 0); 993 994 Node first = tilepane.getChildren().get(0); 995 996 assertEquals(0, first.getLayoutX(), 1e-100); 997 assertEquals(0, first.getLayoutY(), 1e-100); 998 assertEquals(160, tilepane.getLayoutBounds().getWidth(), 1e-100); 999 assertEquals(100, tilepane.getLayoutBounds().getHeight(), 1e-100); 1000 } 1001 1002 @Test public void testTilePaneWithBaselineAlignment() { 1003 TilePane tilepane = new TilePane(Orientation.HORIZONTAL); 1004 tilepane.setPrefSize(100,100); 1005 tilepane.setTileAlignment(Pos.BASELINE_CENTER); 1006 1007 for(int i = 0; i < 8; i++) { 1008 Rectangle child = new Rectangle(40, 40); 1009 tilepane.getChildren().add(child); 1010 } 1011 1012 tilepane.autosize(); 1013 tilepane.layout(); 1014 1015 Node first = tilepane.getChildren().get(0); 1016 1017 assertEquals(0, first.getLayoutX(), 1e-100); 1018 assertEquals(0, first.getLayoutY(), 1e-100); 1019 assertEquals(100, tilepane.getLayoutBounds().getWidth(), 1e-100); 1020 assertEquals(160, tilepane.getLayoutBounds().getHeight(), 1e-100); 1021 } 1022 1023 @Test public void testCSSsetPrefTileWidthAndHeight_RT20388() { 1024 Scene scene = new Scene(tilepane); 1025 Stage stage = new Stage(); 1026 stage.setScene(scene); 1027 stage.show(); 1028 1029 ParsedValue pv = new CssParser().parseExpr("-fx-perf-tile-width","67.0"); 1030 Object val = pv.convert(null); 1031 try { 1032 ((StyleableProperty)tilepane.prefTileWidthProperty()).applyStyle(null, val); 1033 assertEquals(67.0, tilepane.getPrefTileWidth(), 0.00001); 1034 } catch (Exception e) { 1035 Assert.fail(e.toString()); 1036 } 1037 } 1038 1039 @Test public void testCSSsetPrefRow_RT20437() { 1040 Scene scene = new Scene(tilepane); 1041 Stage stage = new Stage(); 1042 stage.setScene(scene); 1043 stage.show(); 1044 1045 ParsedValue pv = new CssParser().parseExpr("-fx-perf-rows","2"); 1046 Object val = pv.convert(null); 1047 try { 1048 ((StyleableProperty)tilepane.prefRowsProperty()).applyStyle(null, val); 1049 assertEquals(2, tilepane.getPrefRows(), 0.00001); 1050 } catch (Exception e) { 1051 Assert.fail(e.toString()); 1052 } 1053 } 1054 1055 1056 @Test public void testCSSsetPrefColumns_RT22929() { 1057 Scene scene = new Scene(tilepane); 1058 Stage stage = new Stage(); 1059 stage.setScene(scene); 1060 stage.show(); 1061 1062 ParsedValue pv = new CssParser().parseExpr("-fx-pref-columns","2"); 1063 Object val = pv.convert(null); 1064 CssMetaData prop = ((StyleableProperty)tilepane.prefColumnsProperty()).getCssMetaData(); 1065 try { 1066 ((StyleableProperty)tilepane.prefColumnsProperty()).applyStyle(null,val); 1067 assertEquals(2, tilepane.getPrefColumns(), 0.00001); 1068 } catch (Exception e) { 1069 Assert.fail(e.toString()); 1070 } 1071 } 1072 }