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 java.io.IOException;
20 import java.util.Locale;
21
22 import org.xml.sax.SAXException;
23
24
25
26
27
28
29 public class ParameterTest extends AbstractCommonTest {
30
31 private static final String FORM_KEY = "nameForm";
32
33 private String firstName;
34
35 private String middleName;
36
37 private String lastName;
38
39
40
41
42 public ParameterTest(String name) {
43 super(name);
44 }
45
46
47
48
49
50 @Override
51 protected void setUp() throws IOException, SAXException {
52
53 loadResources("ParameterTest-config.xml");
54
55
56 firstName = "foo";
57 middleName = "123";
58 lastName = "456";
59
60 }
61
62 @Override
63 protected void tearDown() {
64 }
65
66
67
68
69 public void testAllValid() {
70
71
72 NameBean bean = createNameBean();
73
74 Validator validator = new Validator(resources, FORM_KEY);
75
76
77
78 validator.setParameter(Validator.BEAN_PARAM, bean);
79 validator.setParameter(Validator.LOCALE_PARAM, Locale.getDefault());
80
81
82 try {
83 validator.validate();
84 } catch(Exception e) {
85 fail("Validator.validate() threw " + e);
86 }
87 assertParameterValue(validator, Validator.BEAN_PARAM, Object.class);
88 assertParameterValue(validator, Validator.FIELD_PARAM, Field.class);
89 assertParameterValue(validator, Validator.FORM_PARAM, Form.class);
90 assertParameterValue(validator, Validator.LOCALE_PARAM, Locale.class);
91 assertParameterValue(validator, Validator.VALIDATOR_ACTION_PARAM,
92 ValidatorAction.class);
93 assertParameterValue(validator, Validator.VALIDATOR_PARAM,
94 Validator.class);
95 assertParameterValue(validator, Validator.VALIDATOR_RESULTS_PARAM,
96 ValidatorResults.class);
97 }
98
99 private void assertParameterValue(Validator validator, String name,
100 Class<?> type) {
101 Object value = validator.getParameterValue(name);
102 assertNotNull("Expected '" + type.getName() + "' but was null", value);
103 assertTrue("Expected '" + type.getName() + "' but was '" + value.getClass().getName() + "'",
104 type.isInstance(value));
105 }
106
107
108
109
110 private NameBean createNameBean() {
111 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
112 name.setFirstName(firstName);
113 name.setMiddleName(middleName);
114 name.setLastName(lastName);
115 return name;
116 }
117 }