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);
|