1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.layout;
21
22 import org.apache.myfaces.tobago.layout.MeasureList;
23 import org.junit.jupiter.api.Assertions;
24 import org.junit.jupiter.api.Test;
25
26 public class GridUnitTest {
27
28 @Test
29 public void test1x1() {
30
31 final Grid grid = new Grid(MeasureList.parse("*"), MeasureList.parse("*"));
32 Assertions.assertEquals(1, grid.getColumns().getSize());
33 Assertions.assertEquals(1, grid.getRows().getSize());
34 Assertions.assertEquals(""
35 + "┌─┐\n"
36 + "│◌│\n"
37 + "└─┘\n", grid.gridAsString());
38
39 grid.add(new OriginCell(null), 1, 1);
40 Assertions.assertEquals(1, grid.getColumns().getSize());
41 Assertions.assertEquals(1, grid.getRows().getSize());
42 Assertions.assertEquals(""
43 + "┏━┓\n"
44 + "┃█┃\n"
45 + "┗━┛\n", grid.gridAsString());
46
47 grid.add(new OriginCell(null), 1, 1);
48 Assertions.assertEquals(1, grid.getColumns().getSize());
49 Assertions.assertEquals(2, grid.getRows().getSize());
50 Assertions.assertEquals(""
51 + "┏━┓\n"
52 + "┃█┃\n"
53 + "┣━┫\n"
54 + "┃█┃\n"
55 + "┗━┛\n", grid.gridAsString());
56
57 grid.add(new OriginCell(null), 1, 2);
58 Assertions.assertEquals(1, grid.getColumns().getSize());
59 Assertions.assertEquals(4, grid.getRows().getSize());
60 Assertions.assertEquals(""
61 + "┏━┓\n"
62 + "┃█┃\n"
63 + "┣━┫\n"
64 + "┃█┃\n"
65 + "┣━┫\n"
66 + "┃█┃\n"
67 + "┠─┨\n"
68 + "┃⬇┃\n"
69 + "┗━┛\n", grid.gridAsString());
70
71
72 grid.add(new OriginCell(null), 2, 1);
73 Assertions.assertEquals(1, grid.getColumns().getSize());
74 Assertions.assertEquals(5, grid.getRows().getSize());
75 Assertions.assertEquals(""
76 + "┏━┓\n"
77 + "┃█┃\n"
78 + "┣━┫\n"
79 + "┃█┃\n"
80 + "┣━┫\n"
81 + "┃█┃\n"
82 + "┠─┨\n"
83 + "┃⬇┃\n"
84 + "┣━┫\n"
85 + "┃✖┃\n"
86 + "┗━┛\n", grid.gridAsString());
87 }
88
89 @Test
90 public void test2x1() {
91
92 final Grid grid = new Grid(MeasureList.parse("*;*"), MeasureList.parse("*"));
93 Assertions.assertEquals(2, grid.getColumns().getSize());
94 Assertions.assertEquals(1, grid.getRows().getSize());
95 Assertions.assertEquals(""
96 + "┌─┬─┐\n"
97 + "│◌│◌│\n"
98 + "└─┴─┘\n", grid.gridAsString());
99
100 grid.add(new OriginCell(null), 1, 1);
101 Assertions.assertEquals(2, grid.getColumns().getSize());
102 Assertions.assertEquals(1, grid.getRows().getSize());
103 Assertions.assertEquals(""
104 + "┏━┱─┐\n"
105 + "┃█┃◌│\n"
106 + "┗━┹─┘\n", grid.gridAsString());
107
108 grid.add(new OriginCell(null), 1, 1);
109 Assertions.assertEquals(2, grid.getColumns().getSize());
110 Assertions.assertEquals(1, grid.getRows().getSize());
111 Assertions.assertEquals(""
112 + "┏━┳━┓\n"
113 + "┃█┃█┃\n"
114 + "┗━┻━┛\n", grid.gridAsString());
115
116 grid.add(new OriginCell(null), 2, 2);
117 Assertions.assertEquals(2, grid.getColumns().getSize());
118 Assertions.assertEquals(3, grid.getRows().getSize());
119 Assertions.assertEquals(""
120 + "┏━┳━┓\n"
121 + "┃█┃█┃\n"
122 + "┣━╇━┫\n"
123 + "┃█│➞┃\n"
124 + "┠─┼─┨\n"
125 + "┃⬇│⬇┃\n"
126 + "┗━┷━┛\n", grid.gridAsString());
127
128 grid.add(new OriginCell(null), 1, 2);
129 Assertions.assertEquals(2, grid.getColumns().getSize());
130 Assertions.assertEquals(5, grid.getRows().getSize());
131 Assertions.assertEquals(""
132 + "┏━┳━┓\n"
133 + "┃█┃█┃\n"
134 + "┣━╇━┫\n"
135 + "┃█│➞┃\n"
136 + "┠─┼─┨\n"
137 + "┃⬇│⬇┃\n"
138 + "┣━╈━┩\n"
139 + "┃█┃◌│\n"
140 + "┠─╂─┤\n"
141 + "┃⬇┃◌│\n"
142 + "┗━┹─┘\n", grid.gridAsString());
143
144 grid.add(new OriginCell(null), 1, 1);
145 Assertions.assertEquals(2, grid.getColumns().getSize());
146 Assertions.assertEquals(5, grid.getRows().getSize());
147 Assertions.assertEquals(""
148 + "┏━┳━┓\n"
149 + "┃█┃█┃\n"
150 + "┣━╇━┫\n"
151 + "┃█│➞┃\n"
152 + "┠─┼─┨\n"
153 + "┃⬇│⬇┃\n"
154 + "┣━╈━┫\n"
155 + "┃█┃█┃\n"
156 + "┠─╊━┩\n"
157 + "┃⬇┃◌│\n"
158 + "┗━┹─┘\n", grid.gridAsString());
159
160 grid.add(new OriginCell(null), 1, 2);
161 Assertions.assertEquals(2, grid.getColumns().getSize());
162 Assertions.assertEquals(6, grid.getRows().getSize());
163 Assertions.assertEquals(""
164 + "┏━┳━┓\n"
165 + "┃█┃█┃\n"
166 + "┣━╇━┫\n"
167 + "┃█│➞┃\n"
168 + "┠─┼─┨\n"
169 + "┃⬇│⬇┃\n"
170 + "┣━╈━┫\n"
171 + "┃█┃█┃\n"
172 + "┠─╊━┫\n"
173 + "┃⬇┃█┃\n"
174 + "┡━╉─┨\n"
175 + "│◌┃⬇┃\n"
176 + "└─┺━┛\n", grid.gridAsString());
177
178 grid.add(new OriginCell(null), 2, 1);
179
180 Assertions.assertEquals(2, grid.getColumns().getSize());
181 Assertions.assertEquals(6, grid.getRows().getSize());
182 }
183
184 @Test
185 public void test5x5() {
186
187 final Grid grid = new Grid(MeasureList.parse("*;*;*;*;*"), MeasureList.parse("*;*;*;*;*"));
188 Assertions.assertEquals(5, grid.getColumns().getSize());
189 Assertions.assertEquals(5, grid.getRows().getSize());
190 Assertions.assertEquals(""
191 + "┌─┬─┬─┬─┬─┐\n"
192 + "│◌│◌│◌│◌│◌│\n"
193 + "├─┼─┼─┼─┼─┤\n"
194 + "│◌│◌│◌│◌│◌│\n"
195 + "├─┼─┼─┼─┼─┤\n"
196 + "│◌│◌│◌│◌│◌│\n"
197 + "├─┼─┼─┼─┼─┤\n"
198 + "│◌│◌│◌│◌│◌│\n"
199 + "├─┼─┼─┼─┼─┤\n"
200 + "│◌│◌│◌│◌│◌│\n"
201 + "└─┴─┴─┴─┴─┘\n", grid.gridAsString());
202
203 grid.add(new OriginCell(null), 1, 2);
204 grid.add(new OriginCell(null), 1, 3);
205 grid.add(new OriginCell(null), 1, 1);
206 grid.add(new OriginCell(null), 2, 1);
207 grid.add(new OriginCell(null), 3, 1);
208 grid.add(new OriginCell(null), 1, 1);
209 grid.add(new OriginCell(null), 1, 1);
210 grid.add(new OriginCell(null), 1, 3);
211 grid.add(new OriginCell(null), 1, 1);
212 grid.add(new OriginCell(null), 3, 1);
213 grid.add(new OriginCell(null), 1, 2);
214 grid.add(new OriginCell(null), 2, 1);
215 grid.add(new OriginCell(null), 1, 1);
216 Assertions.assertEquals(5, grid.getColumns().getSize());
217 Assertions.assertEquals(5, grid.getRows().getSize());
218 Assertions.assertEquals(""
219 + "┏━┳━┳━┳━┯━┓\n"
220 + "┃█┃█┃█┃█│➞┃\n"
221 + "┠─╂─╊━╇━┿━┫\n"
222 + "┃⬇┃⬇┃█│➞│➞┃\n"
223 + "┣━╉─╊━╈━╈━┫\n"
224 + "┃█┃⬇┃█┃█┃█┃\n"
225 + "┣━╇━╇━╉─╊━┫\n"
226 + "┃█│➞│➞┃⬇┃█┃\n"
227 + "┣━┿━╈━╉─╂─┨\n"
228 + "┃█│➞┃█┃⬇┃⬇┃\n"
229 + "┗━┷━┻━┻━┻━┛\n", grid.gridAsString());
230 }
231 }
232
233