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