1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.validator;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNull;
21
22 import org.junit.jupiter.api.AfterEach;
23 import org.junit.jupiter.api.BeforeEach;
24 import org.junit.jupiter.api.Test;
25
26
27
28
29 public class FieldTest {
30
31 protected Field field;
32
33
34
35
36 private Arg createArg(final String key) {
37 final Arg arg = new Arg();
38 arg.setKey(key);
39 return arg;
40 }
41
42
43
44
45 private Arg createArg(final String key, final int position) {
46 final Arg arg = createArg(key);
47 arg.setPosition(position);
48 return arg;
49 }
50
51
52
53
54 private Arg createArg(final String key, final String name) {
55 final Arg arg = createArg(key);
56 arg.setName(name);
57 return arg;
58 }
59
60
61
62
63 private Arg createArg(final String key, final String name, final int position) {
64 final Arg arg = createArg(key, name);
65 arg.setPosition(position);
66 return arg;
67 }
68
69
70
71
72 @BeforeEach
73 public void setUp() {
74 field = new Field();
75 }
76
77
78
79
80 @AfterEach
81 public void tearDown() {
82 field = null;
83 }
84
85
86
87
88 @Test
89 public void testDefaultOnePosition() {
90
91 field.addArg(createArg("default-position-0"));
92 field.addArg(createArg("default-position-2", 2));
93 field.addArg(createArg("default-position-3"));
94
95 assertEquals(4, field.getArgs("required").length, "testDefaultOnePosition(1) ");
96 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testDefaultOnePosition(2) ");
97 assertNull(field.getArg("required", 1), "testDefaultOnePosition(3) ");
98 assertEquals("default-position-2", field.getArg("required", 2).getKey(), "testDefaultOnePosition(4) ");
99 assertEquals("default-position-3", field.getArg("required", 3).getKey(), "testDefaultOnePosition(5) ");
100
101 }
102
103
104
105
106 @Test
107 public void testDefaultPositionImplied() {
108
109 field.addArg(createArg("default-position-0"));
110 field.addArg(createArg("default-position-1"));
111 field.addArg(createArg("default-position-2"));
112
113 assertEquals(3, field.getArgs("required").length, "testDefaultPositionImplied(1) ");
114 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testDefaultPositionImplied(2) ");
115 assertEquals("default-position-1", field.getArg("required", 1).getKey(), "testDefaultPositionImplied(3) ");
116 assertEquals("default-position-2", field.getArg("required", 2).getKey(), "testDefaultPositionImplied(4) ");
117
118 }
119
120
121
122
123 @Test
124 public void testDefaultSomePositions() {
125
126 field.addArg(createArg("default-position-0"));
127 field.addArg(createArg("default-position-2", 2));
128 field.addArg(createArg("default-position-3"));
129 field.addArg(createArg("default-position-1", 1));
130
131 assertEquals(4, field.getArgs("required").length, "testDefaultSomePositions(1) ");
132 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testDefaultSomePositions(2) ");
133 assertEquals("default-position-1", field.getArg("required", 1).getKey(), "testDefaultSomePositions(3) ");
134 assertEquals("default-position-2", field.getArg("required", 2).getKey(), "testDefaultSomePositions(4) ");
135 assertEquals("default-position-3", field.getArg("required", 3).getKey(), "testDefaultSomePositions(5) ");
136
137 }
138
139
140
141
142 @Test
143 public void testDefaultUsingPositions() {
144
145 field.addArg(createArg("default-position-1", 1));
146 field.addArg(createArg("default-position-0", 0));
147 field.addArg(createArg("default-position-2", 2));
148
149 assertEquals(3, field.getArgs("required").length, "testDefaultUsingPositions(1) ");
150 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testDefaultUsingPositions(2) ");
151 assertEquals("default-position-1", field.getArg("required", 1).getKey(), "testDefaultUsingPositions(3) ");
152 assertEquals("default-position-2", field.getArg("required", 2).getKey(), "testDefaultUsingPositions(4) ");
153
154 }
155
156
157
158
159 @Test
160 public void testEmptyArgs() {
161
162 assertEquals(0, field.getArgs("required").length, "Empty Args(1) ");
163
164 }
165
166
167
168
169 @Test
170 public void testOverridePositionImplied() {
171
172 field.addArg(createArg("default-position-0"));
173 field.addArg(createArg("required-position-1", "required"));
174 field.addArg(createArg("required-position-2", "required"));
175 field.addArg(createArg("mask-position-1", "mask"));
176
177
178 assertEquals(3, field.getArgs("required").length, "testOverridePositionImplied(1) ");
179 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testOverridePositionImplied(2) ");
180 assertEquals("required-position-1", field.getArg("required", 1).getKey(), "testOverridePositionImplied(3) ");
181 assertEquals("required-position-2", field.getArg("required", 2).getKey(), "testOverridePositionImplied(4) ");
182
183
184 assertEquals(3, field.getArgs("mask").length, "testOverridePositionImplied(5) ");
185 assertEquals("default-position-0", field.getArg("mask", 0).getKey(), "testOverridePositionImplied(6) ");
186 assertEquals("mask-position-1", field.getArg("mask", 1).getKey(), "testOverridePositionImplied(7) ");
187 assertNull(field.getArg("mask", 2), "testOverridePositionImplied(8) ");
188
189
190 assertEquals("default-position-0", field.getArg(0).getKey(), "testOverridePositionImplied(9) ");
191 assertNull(field.getArg(1), "testOverridePositionImplied(10) ");
192 assertNull(field.getArg(2), "testOverridePositionImplied(11) ");
193
194 }
195
196
197
198
199 @Test
200 public void testOverrideSomePosition() {
201
202 field.addArg(createArg("default-position-0"));
203 field.addArg(createArg("default-position-1"));
204 field.addArg(createArg("default-position-2"));
205 field.addArg(createArg("required-position-1", "required", 1));
206 field.addArg(createArg("required-position-2", "required"));
207 field.addArg(createArg("mask-position-3", "mask"));
208
209
210 assertEquals(4, field.getArgs("required").length, "testOverrideSomePosition(1) ");
211 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testOverrideSomePosition(2) ");
212 assertEquals("required-position-1", field.getArg("required", 1).getKey(), "testOverrideSomePosition(3) ");
213 assertEquals("required-position-2", field.getArg("required", 2).getKey(), "testOverrideSomePosition(4) ");
214 assertNull(field.getArg("required", 3), "testOverrideSomePosition(5) ");
215
216
217 assertEquals(4, field.getArgs("mask").length, "testOverrideSomePosition(6) ");
218 assertEquals("default-position-0", field.getArg("mask", 0).getKey(), "testOverrideSomePosition(7) ");
219 assertEquals("default-position-1", field.getArg("mask", 1).getKey(), "testOverrideSomePosition(8) ");
220 assertEquals("default-position-2", field.getArg("mask", 2).getKey(), "testOverrideSomePosition(9) ");
221 assertEquals("mask-position-3", field.getArg("mask", 3).getKey(), "testOverrideSomePosition(10) ");
222
223
224 assertEquals("default-position-0", field.getArg(0).getKey(), "testOverrideSomePosition(11) ");
225 assertEquals("default-position-1", field.getArg(1).getKey(), "testOverrideSomePosition(12) ");
226 assertEquals("default-position-2", field.getArg(2).getKey(), "testOverrideSomePosition(13) ");
227 assertNull(field.getArg(3), "testOverrideSomePosition(14) ");
228
229 }
230
231
232
233
234 @Test
235 public void testOverrideUsingPositionA() {
236
237 field.addArg(createArg("default-position-0"));
238 field.addArg(createArg("default-position-1"));
239 field.addArg(createArg("default-position-2"));
240 field.addArg(createArg("required-position-1", "required", 1));
241
242
243 assertEquals(3, field.getArgs("required").length, "testOverrideUsingPositionA(1) ");
244 assertEquals("required-position-1", field.getArg("required", 1).getKey(), "testOverrideUsingPositionA(2) ");
245
246
247 assertEquals(3, field.getArgs("mask").length, "testOverrideUsingPositionA(3) ");
248 assertEquals("default-position-1", field.getArg("mask", 1).getKey(), "testOverrideUsingPositionA(4) ");
249
250
251 assertEquals("default-position-1", field.getArg(1).getKey(), "testOverrideUsingPositionA(5) ");
252
253 }
254
255
256
257
258 @Test
259 public void testOverrideUsingPositionB() {
260
261 field.addArg(createArg("required-position-3", "required", 3));
262 field.addArg(createArg("required-position-1", "required", 1));
263 field.addArg(createArg("default-position-0"));
264 field.addArg(createArg("default-position-1"));
265 field.addArg(createArg("default-position-2"));
266
267
268 assertEquals(4, field.getArgs("required").length, "testOverrideUsingPositionB(1) ");
269 assertEquals("default-position-0", field.getArg("required", 0).getKey(), "testOverrideUsingPositionB(2) ");
270 assertEquals("required-position-1", field.getArg("required", 1).getKey(), "testOverrideUsingPositionB(3) ");
271 assertEquals("default-position-2", field.getArg("required", 2).getKey(), "testOverrideUsingPositionB(4) ");
272 assertEquals("required-position-3", field.getArg("required", 3).getKey(), "testOverrideUsingPositionB(5) ");
273
274
275 assertEquals(4, field.getArgs("mask").length, "testOverrideUsingPositionB(6) ");
276 assertEquals("default-position-0", field.getArg("mask", 0).getKey(), "testOverrideUsingPositionB(6) ");
277 assertEquals("default-position-1", field.getArg("mask", 1).getKey(), "testOverrideUsingPositionB(7) ");
278 assertEquals("default-position-2", field.getArg("mask", 2).getKey(), "testOverrideUsingPositionB(8) ");
279 assertNull(field.getArg("mask", 3), "testOverrideUsingPositionB(9) ");
280
281 }
282
283 }