1 package org.seasar.cubby.validator; 2 3 import java.util.Iterator; 4 5 import junit.framework.TestCase; 6 7 import org.seasar.cubby.validator.validators.MaxLengthValidator; 8 import org.seasar.cubby.validator.validators.NumberValidator; 9 import org.seasar.cubby.validator.validators.RangeValidator; 10 import org.seasar.cubby.validator.validators.RequiredValidator; 11 12 public class DefaultValidationRulesTest extends TestCase { 13 14 public void testAddAndGetRules() throws Exception { 15 DefaultValidationRules rules = new DefaultValidationRules(); 16 rules.add(new PropertyValidationRule("name", new RequiredValidator(), new MaxLengthValidator(10))); 17 assertEquals(1, rules.getRules().size()); 18 } 19 20 public void testInitialize() throws Exception { 21 ValidationRules rules = new DefaultValidationRules() { 22 public void initialize() { 23 add("name", new RequiredValidator(), new MaxLengthValidator(10)); 24 add("age", new NumberValidator(), new RangeValidator(0, 10)); 25 } 26 }; 27 assertEquals(2, rules.getRules().size()); 28 } 29 30 public void testConstractor1() throws Exception { 31 ValidationRules rules = new DefaultValidationRules() { 32 public void initialize() { 33 add("name", new RequiredValidator(), new MaxLengthValidator(10)); 34 add("age", new NumberValidator(), new RangeValidator(0, 10)); 35 } 36 }; 37 assertEquals(2, rules.getRules().size()); 38 Iterator<ValidationRule> iter = rules.getRules().iterator(); 39 PropertyValidationRule rule = (PropertyValidationRule)iter.next(); 40 assertEquals("name", rule.getPropertyName()); 41 assertEquals("name", rule.getPropertyNameKey()); 42 rule = (PropertyValidationRule)iter.next(); 43 assertEquals("age", rule.getPropertyName()); 44 assertEquals("age", rule.getPropertyNameKey()); 45 } 46 47 public void testConstractor2() throws Exception { 48 ValidationRules rules = new DefaultValidationRules("userProfile.") { 49 public void initialize() { 50 add("name", new RequiredValidator(), new MaxLengthValidator(10)); 51 add("age", new NumberValidator(), new RangeValidator(0, 10)); 52 } 53 }; 54 assertEquals(2, rules.getRules().size()); 55 Iterator<ValidationRule> iter = rules.getRules().iterator(); 56 PropertyValidationRule rule = (PropertyValidationRule)iter.next(); 57 assertEquals("name", rule.getPropertyName()); 58 assertEquals("userProfile.name", rule.getPropertyNameKey()); 59 rule = (PropertyValidationRule)iter.next(); 60 assertEquals("age", rule.getPropertyName()); 61 assertEquals("userProfile.age", rule.getPropertyNameKey()); 62 } 63 }