[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