1 /* 2 * $Header: /home/cvs/jakarta-commons/validator/src/test/org/apache/commons/validator/RequiredIfTest.java,v 1.13 2004/02/21 17:10:30 rleland Exp $ 3 * $Revision: 1.13 $ 4 * $Date: 2004/02/21 17:10:30 $ 5 * 6 * ==================================================================== 7 * Copyright 2001-2004 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; 26 27 import junit.framework.Test; 28 import junit.framework.TestSuite; 29 30 import org.xml.sax.SAXException; 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 FORM_KEY = "nameForm"; 42 43 /*** 44 * The key used to retrieve the validator action. 45 */ 46 protected static String ACTION = "requiredif"; 47 48 public RequiredIfTest(String 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[] theArgs) { 58 junit.awtui.TestRunner.main(new String[] {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, SAXException { 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 }

This page was automatically generated by Maven