1 20 package org.enhydra.barracuda.core.forms.validators; 21 22 import java.io.*; 23 import java.util.*; 24 import java.text.*; 25 26 import org.w3c.dom.*; 27 import junit.framework.*; 28 29 import org.enhydra.barracuda.plankton.data.*; 30 import org.enhydra.barracuda.core.forms.*; 31 import org.apache.log4j.*; 32 import org.enhydra.barracuda.testbed.*; 33 34 35 38 public class TestValidTypeValidator extends ValidatorTestCase { 39 private static String testClass = TestValidTypeValidator.class.getName(); 41 private static Logger logger = Logger.getLogger("test."+testClass); 42 43 45 49 public TestValidTypeValidator(String name) { 50 super(name); 51 } 52 53 60 public static void main(String args[]) { 61 TestUtil.parseParams(args); 63 64 if (TestUtil.BATCH_MODE) junit.textui.TestRunner.main(new String [] {testClass}); 66 else junit.swingui.TestRunner.main(new String [] {testClass}); 67 } 68 69 70 76 79 public void testString() { 80 DefaultStateMap sm = new DefaultStateMap(); 82 sm.putState("val_s1","foo"); 83 sm.putState("val_s2","null"); 84 sm.putState("val_s3",new Integer (123)); 85 ValidTypeValidator v = new ValidTypeValidator(); 88 this.assertAllValid(v, sm, FormType.STRING); 89 90 114 } 115 116 121 public void testBoolean() { 122 DefaultStateMap sm = new DefaultStateMap(); 124 sm.putState("val_b1","yes"); 125 sm.putState("val_b2","no"); 126 sm.putState("val_b3","true"); 127 sm.putState("val_b4","false"); 128 sm.putState("val_b5","on"); 129 sm.putState("val_b6","off"); 130 131 ValidTypeValidator v = new ValidTypeValidator(); 134 135 this.assertAllValid(v, sm, FormType.BOOLEAN); 136 137 sm = null; 138 sm = new DefaultStateMap(); 139 140 sm.putState("inval_b7","boogle"); 141 sm.putState("inval_b8","blah"); 142 sm.putState("inval_b9","foo"); 143 sm.putState("inval_b10","bar"); 144 this.assertAllInvalid(v, sm, FormType.BOOLEAN); 145 149 171 } 172 173 176 public void testInteger() { 177 DefaultStateMap sm = new DefaultStateMap(); 179 sm.putState("val_i1","123"); 180 sm.putState("val_i2","123.0"); 181 sm.putState("val_i4",new Integer (123)); 182 sm.putState("val_i5",new Float (123)); 183 sm.putState("val_i6",new Double (123)); 184 sm.putState("val_i8",new Short ((short) 123)); 185 186 187 188 ValidTypeValidator v = new ValidTypeValidator(); 191 192 this.assertAllValid(v, sm, FormType.INTEGER); 193 194 sm = null; 195 sm = new DefaultStateMap(); 196 sm.putState("inval_i1","3.141592654"); 197 sm.putState("inval_i2","13b"); 198 sm.putState("inval_i3",new Long (2147483648L)); 199 this.assertAllInvalid(v, sm, FormType.INTEGER); 200 201 204 205 214 215 } 216 217 221 public void testDate() { 222 DefaultStateMap sm = new DefaultStateMap(); 224 ValidTypeValidator v = new ValidTypeValidator(); 225 DateFormat aDateFormat = DateFormat.getDateInstance(DateFormat.SHORT); 226 aDateFormat.setLenient(false); 227 228 229 try { 230 sm.putState("Valid Date1", TestUtil.dateStringInDefaultLocaleShortForm("2001", "1", "1")); 231 sm.putState("Valid Date2", TestUtil.dateStringInDefaultLocaleShortForm("2000", "2", "29")); 232 sm.putState("Valid Date3", TestUtil.dateStringInDefaultLocaleShortForm("2010", "12", "31")); 233 sm.putState("Valid Date4", TestUtil.dateStringInDefaultLocaleShortForm("2010", "12", "31")); 234 sm.putState("Valid Date5", aDateFormat.parse(TestUtil.dateStringInDefaultLocaleShortForm("2001", "1", "1"))); 235 sm.putState("Valid Date6", aDateFormat.parse(TestUtil.dateStringInDefaultLocaleShortForm("2000", "2", "29"))); 236 sm.putState("Valid Date5", aDateFormat.parse(TestUtil.dateStringInDefaultLocaleShortForm("2010", "12", "31"))); 237 } catch(java.text.ParseException ex) { 238 fail( "testDate failed because " + ex.getMessage() ); 239 } 240 241 this.assertAllValid(v, sm, FormType.DATE); 242 243 } 245 246 249 public void testLong() { 250 DefaultStateMap sm = new DefaultStateMap(); 252 ValidTypeValidator v = new ValidTypeValidator(); 253 254 sm.putState("Valid Long1", "123"); 255 sm.putState("Valid Long2", "1234.0"); 256 sm.putState("Valid Long3", new Integer (123)); 257 sm.putState("Valid Long4", new Float (123)); 258 sm.putState("Valid Long5", new Double (123)); 259 sm.putState("Valid Long6", new Short ((short) 123)); 260 this.assertAllValid(v, sm, FormType.LONG); 261 262 sm = null; 263 sm = new DefaultStateMap(); 264 265 sm.putState("Invalid Long1", "foo"); 266 sm.putState("invalid Long2", "1234.4"); 267 sm.putState("invalid Long4", new Float (123.23)); 268 sm.putState("invalid Long5", new Double (123.44)); 269 this.assertAllInvalid(v, sm, FormType.LONG); 270 271 } 273 274 277 public void testShort() { 278 DefaultStateMap sm = new DefaultStateMap(); 280 ValidTypeValidator v = new ValidTypeValidator(); 281 282 sm.putState("Valid Short1", "123"); 283 sm.putState("Valid Short2", "123.0"); 284 sm.putState("Valid Short3", new Integer (123)); 285 sm.putState("Valid Short4", new Float (123)); 286 sm.putState("Valid Short5", new Double (123)); 287 sm.putState("Valid Short6", new Short ((short) 123)); 288 this.assertAllValid(v, sm, FormType.SHORT); 289 290 sm = null; 291 sm = new DefaultStateMap(); 292 293 sm.putState("Invalid Short1", "foo"); 294 sm.putState("invalid Short2", "1234.4"); 295 sm.putState("invalid Short4", new Float (123.23)); 296 sm.putState("invalid Short5", new Double (123.44)); 297 sm.putState("invalid Short6", new Integer (123456)); 298 this.assertAllInvalid(v, sm, FormType.SHORT); 299 300 } 302 303 306 public void testDouble() { 307 DefaultStateMap sm = new DefaultStateMap(); 309 ValidTypeValidator v = new ValidTypeValidator(); 310 311 sm.putState("Valid Double1", "123"); 312 sm.putState("Valid Double2", "123.0"); 313 sm.putState("Valid Double3", new Integer (123)); 314 sm.putState("Valid Double4", new Float (123)); 315 sm.putState("Valid Double5", new Double (123)); 316 sm.putState("Valid Double6", new Short ((short) 123)); 317 this.assertAllValid(v, sm, FormType.DOUBLE); 318 319 sm = null; 320 sm = new DefaultStateMap(); 321 322 sm.putState("Invalid Double1", "foo"); 323 this.assertAllInvalid(v, sm, FormType.DOUBLE); 324 325 } 327 328 331 public void testFloat() { 332 DefaultStateMap sm = new DefaultStateMap(); 334 ValidTypeValidator v = new ValidTypeValidator(); 335 336 sm.putState("Valid Float1", "123"); 337 sm.putState("Valid Float2", "123.0"); 338 sm.putState("Valid Float3", new Integer (123)); 339 sm.putState("Valid Float4", new Float (123)); 340 sm.putState("Valid Float5", new Double (123)); 341 sm.putState("Valid Float6", new Short ((short) 123)); 342 this.assertAllValid(v, sm, FormType.FLOAT); 343 344 sm = null; 345 sm = new DefaultStateMap(); 346 347 sm.putState("Invalid Float1", "foo"); 348 this.assertAllInvalid(v, sm, FormType.FLOAT); 349 350 } 352 353 protected void checkIt(StateMap sm, FormType ft) { 354 DefaultFormMap fm = new DefaultFormMap(); 356 Iterator it = sm.getStateKeys().iterator(); 357 while (it.hasNext()) { 358 String key = (String ) it.next(); 359 fm.defineElement(new DefaultFormElement(key, ft, null, new ValidTypeValidator())); 360 } 361 362 fm.map(sm); 364 365 it = sm.getStateKeys().iterator(); 367 while (it.hasNext()) { 368 String key = (String ) it.next(); 369 DefaultFormElement el = (DefaultFormElement) fm.getElement(key); 370 DefaultFormValidator v = (DefaultFormValidator) el.getValidator(); 371 if (key.startsWith("val")) assertValid("Error validating element for key:"+key+" value: "+el.getOrigVal(), v, el, el.getOrigVal()); 375 else assertInvalid("Error invalidating element for key:"+key+" value: "+el.getOrigVal(), v, el, el.getOrigVal()); 377 } 379 } 380 381 382 } 383 | Popular Tags |