[hibernate-commits] Hibernate SVN: r16012 - validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Feb 20 11:46:58 EST 2009
Author: hardy.ferentschik
Date: 2009-02-20 11:46:58 -0500 (Fri, 20 Feb 2009)
New Revision: 16012
Added:
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/Optional.java
Modified:
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/GroupTest.java
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/User.java
Log:
Added test for HV-85
Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/GroupTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/GroupTest.java 2009-02-20 16:11:57 UTC (rev 16011)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/GroupTest.java 2009-02-20 16:46:58 UTC (rev 16012)
@@ -19,8 +19,10 @@
import java.util.HashSet;
import java.util.Set;
+import java.util.Iterator;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
+import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
import static org.junit.Assert.assertEquals;
@@ -31,10 +33,12 @@
import org.hibernate.validation.eg.Book;
import org.hibernate.validation.eg.DefaultAlias;
import org.hibernate.validation.eg.Dictonary;
+import org.hibernate.validation.eg.FrenchAddress;
import org.hibernate.validation.eg.groups.First;
import org.hibernate.validation.eg.groups.Last;
import org.hibernate.validation.eg.groups.Second;
import org.hibernate.validation.util.TestUtil;
+import static org.hibernate.validation.util.TestUtil.assertConstraintViolation;
/**
* Tests for the group and group sequence feature.
@@ -209,13 +213,15 @@
assertEquals(
"There should be one violation against Billable",
1,
- constraintViolations.size() );
+ constraintViolations.size()
+ );
constraintViolations = validator.validate( user, Default.class, Billable.class );
assertEquals(
"There should be 3 violation against Default and Billable",
3,
- constraintViolations.size() );
+ constraintViolations.size()
+ );
constraintViolations = validator.validate( user, BuyInOneClick.class );
assertEquals(
@@ -252,4 +258,41 @@
constraintViolations.size()
);
}
+
+ @Test
+ public void testGroupSequenceFollowedByGroup() {
+ User user = new User();
+ user.setFirstname( "Foo" );
+ user.setLastname( "Bar" );
+ user.setPhoneNumber( "+46 123-456" );
+
+ Validator validator = TestUtil.getValidator();
+
+ Set<ConstraintViolation<User>> constraintViolations = validator.validate(
+ user, BuyInOneClick.class, Optional.class
+ );
+ assertEquals(
+ "There should be two violations against the implicit default group",
+ 2,
+ constraintViolations.size()
+ );
+
+ Iterator<ConstraintViolation<User>> iter = constraintViolations.iterator();
+
+ assertConstraintViolation(
+ iter.next(),
+ "may not be null",
+ User.class,
+ null,
+ "defaultCreditCard"
+ );
+
+ assertConstraintViolation(
+ iter.next(),
+ "must match \"[0-9 -]?\"",
+ User.class,
+ "+46 123-456",
+ "phoneNumber"
+ );
+ }
}
\ No newline at end of file
Copied: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/Optional.java (from rev 16006, validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/Billable.java)
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/Optional.java (rev 0)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/Optional.java 2009-02-20 16:46:58 UTC (rev 16012)
@@ -0,0 +1,9 @@
+package org.hibernate.validation.engine.groups;
+
+/**
+ * Validation group checking whether user is billable.
+ *
+ * @author Emmanuel Bernard
+ */
+public interface Optional {
+}
\ No newline at end of file
Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/User.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/User.java 2009-02-20 16:11:57 UTC (rev 16011)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/engine/groups/User.java 2009-02-20 16:46:58 UTC (rev 16012)
@@ -3,6 +3,8 @@
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
+import org.hibernate.validation.constraints.Pattern;
+
/**
* @author Emmanuel Bernard
* @author Hardy Ferentschik
@@ -14,6 +16,9 @@
@NotNull(groups = Default.class)
private String lastname;
+ @Pattern(regex = "[0-9 -]?", groups = Optional.class)
+ private String phoneNumber;
+
@NotNull(groups = { Billable.class, BuyInOneClick.class })
private CreditCard defaultCreditCard;
@@ -40,4 +45,12 @@
public void setDefaultCreditCard(CreditCard defaultCreditCard) {
this.defaultCreditCard = defaultCreditCard;
}
+
+ public String getPhoneNumber() {
+ return phoneNumber;
+ }
+
+ public void setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
+ }
}
\ No newline at end of file
More information about the hibernate-commits
mailing list