KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > validator > RequiredIfTest


1 /*
2  * $Id: RequiredIfTest.java 155434 2005-02-26 13:16:41Z dirkv $
3  * $Rev$
4  * $Date: 2005-02-26 05:16:41 -0800 (Sat, 26 Feb 2005) $
5  *
6  * ====================================================================
7  * Copyright 2001-2005 The Apache Software Foundation
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */

21
22
23 package org.apache.commons.validator;
24
25 import java.io.IOException JavaDoc;
26
27 import junit.framework.Test;
28 import junit.framework.TestSuite;
29
30 import org.xml.sax.SAXException JavaDoc;
31                                                           
32 /**
33  * Performs Validation Test.
34  */

35 public class RequiredIfTest extends TestCommon {
36    
37    /**
38     * The key used to retrieve the set of validation
39     * rules from the xml file.
40     */

41    protected static String JavaDoc FORM_KEY = "nameForm";
42
43    /**
44     * The key used to retrieve the validator action.
45     */

46    protected static String JavaDoc ACTION = "requiredif";
47
48    public RequiredIfTest(String JavaDoc name) {
49        super(name);
50    }
51
52    /**
53     * Start the tests.
54     *
55     * @param theArgs the arguments. Not used
56     */

57    public static void main(String JavaDoc[] theArgs) {
58        junit.awtui.TestRunner.main(new String JavaDoc[] {RequiredIfTest.class.getName()});
59    }
60
61    /**
62     * @return a test suite (<code>TestSuite</code>) that includes all methods
63     * starting with "test"
64     */

65    public static Test suite() {
66        // All methods starting with "test" will be executed in the test suite.
67
return new TestSuite(RequiredIfTest.class);
68    }
69
70    /**
71     * Load <code>ValidatorResources</code> from
72     * validator-requiredif.xml.
73     */

74    protected void setUp() throws IOException JavaDoc, SAXException JavaDoc {
75       // Load resources
76
loadResources("validator-requiredif.xml");
77    }
78
79    protected void tearDown() {
80    }
81
82    /**
83     * With nothing provided, we should pass since the fields only fail on
84     * null if the other field is non-blank.
85     */

86    public void testRequired() throws ValidatorException {
87       // Create bean to run test on.
88
NameBean name = new NameBean();
89       
90       // Construct validator based on the loaded resources
91
// and the form key
92
Validator validator = new Validator(resources, FORM_KEY);
93       // add the name bean to the validator as a resource
94
// for the validations to be performed on.
95
validator.setParameter(Validator.BEAN_PARAM, name);
96
97       // Get results of the validation.
98
ValidatorResults results = null;
99       
100       // throws ValidatorException,
101
// but we aren't catching for testing
102
// since no validation methods we use
103
// throw this
104
results = validator.validate();
105       
106       assertNotNull("Results are null.", results);
107       
108       ValidatorResult firstNameResult = results.getValidatorResult("firstName");
109       ValidatorResult lastNameResult = results.getValidatorResult("lastName");
110       
111       assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
112       assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
113       assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
114       
115       assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
116       assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
117       assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have passed.", lastNameResult.isValid(ACTION));
118    }
119
120    /**
121     * Tests the required validation for first name if it is blank.
122     */

123    public void testRequiredFirstNameBlank() throws ValidatorException {
124       // Create bean to run test on.
125
NameBean name = new NameBean();
126       name.setFirstName("");
127       name.setLastName("Test");
128       
129       // Construct validator based on the loaded resources
130
// and the form key
131
Validator validator = new Validator(resources, FORM_KEY);
132       // add the name bean to the validator as a resource
133
// for the validations to be performed on.
134
validator.setParameter(Validator.BEAN_PARAM, name);
135
136       // Get results of the validation.
137
ValidatorResults results = null;
138       
139       results = validator.validate();
140       
141       assertNotNull("Results are null.", results);
142       
143       ValidatorResult firstNameResult = results.getValidatorResult("firstName");
144       ValidatorResult lastNameResult = results.getValidatorResult("lastName");
145       
146       assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
147       assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
148       assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have failed.", !firstNameResult.isValid(ACTION));
149       
150       assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
151       assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
152       assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have passed.", lastNameResult.isValid(ACTION));
153    }
154
155    /**
156     * Tests the required validation for last name.
157     */

158    public void testRequiredFirstName() throws ValidatorException {
159       // Create bean to run test on.
160
NameBean name = new NameBean();
161       name.setFirstName("Test");
162       name.setLastName("Test");
163       
164       // Construct validator based on the loaded resources
165
// and the form key
166
Validator validator = new Validator(resources, FORM_KEY);
167       // add the name bean to the validator as a resource
168
// for the validations to be performed on.
169
validator.setParameter(Validator.BEAN_PARAM, name);
170
171       // Get results of the validation.
172
ValidatorResults results = null;
173       
174       results = validator.validate();
175       
176       assertNotNull("Results are null.", results);
177       
178       ValidatorResult firstNameResult = results.getValidatorResult("firstName");
179       ValidatorResult lastNameResult = results.getValidatorResult("lastName");
180       
181       assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
182       assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
183       assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
184       
185       assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
186       assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
187       assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have passed.", lastNameResult.isValid(ACTION));
188    }
189
190    /**
191     * Tests the required validation for last name if it is blank.
192     */

193    public void testRequiredLastNameBlank() throws ValidatorException {
194       // Create bean to run test on.
195
NameBean name = new NameBean();
196       name.setFirstName("Joe");
197       name.setLastName("");
198       
199       // Construct validator based on the loaded resources
200
// and the form key
201
Validator validator = new Validator(resources, FORM_KEY);
202       // add the name bean to the validator as a resource
203
// for the validations to be performed on.
204
validator.setParameter(Validator.BEAN_PARAM, name);
205
206       // Get results of the validation.
207
ValidatorResults results = null;
208       
209       results = validator.validate();
210       
211       assertNotNull("Results are null.", results);
212       
213       ValidatorResult firstNameResult = results.getValidatorResult("firstName");
214       ValidatorResult lastNameResult = results.getValidatorResult("lastName");
215       
216       assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
217       assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
218       assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
219       
220       assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
221       assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
222       assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have failed.", !lastNameResult.isValid(ACTION));
223    }
224
225    /**
226     * Tests the required validation for last name.
227     */

228    public void testRequiredLastName() throws ValidatorException {
229       // Create bean to run test on.
230
NameBean name = new NameBean();
231       name.setFirstName("Joe");
232       name.setLastName("Smith");
233       
234       // Construct validator based on the loaded resources
235
// and the form key
236
Validator validator = new Validator(resources, FORM_KEY);
237       // add the name bean to the validator as a resource
238
// for the validations to be performed on.
239
validator.setParameter(Validator.BEAN_PARAM, name);
240
241       // Get results of the validation.
242
ValidatorResults results = null;
243       
244       results = validator.validate();
245       
246       assertNotNull("Results are null.", results);
247       
248       ValidatorResult firstNameResult = results.getValidatorResult("firstName");
249       ValidatorResult lastNameResult = results.getValidatorResult("lastName");
250       
251       assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
252       assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
253       assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
254       
255       assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
256       assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
257       assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have passed.", lastNameResult.isValid(ACTION));
258
259    }
260    
261 }
262
Popular Tags