[hibernate-commits] Hibernate SVN: r17108 - beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/inheritance.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Jul 16 10:00:37 EDT 2009


Author: hardy.ferentschik
Date: 2009-07-16 10:00:36 -0400 (Thu, 16 Jul 2009)
New Revision: 17108

Modified:
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/inheritance/GroupInheritanceTest.java
Log:
Tests for group inheritance

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/inheritance/GroupInheritanceTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/inheritance/GroupInheritanceTest.java	2009-07-16 14:00:06 UTC (rev 17107)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/inheritance/GroupInheritanceTest.java	2009-07-16 14:00:36 UTC (rev 17108)
@@ -22,12 +22,17 @@
 import javax.validation.Validator;
 import javax.validation.constraints.AssertTrue;
 import javax.validation.constraints.Digits;
+import javax.validation.constraints.Max;
+import javax.validation.metadata.BeanDescriptor;
+import javax.validation.metadata.ConstraintDescriptor;
+import javax.validation.metadata.PropertyDescriptor;
 
 import org.jboss.test.audit.annotations.SpecAssertion;
 import org.jboss.testharness.AbstractTest;
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.ArtifactType;
 import org.jboss.testharness.impl.packaging.Classes;
+import static org.testng.Assert.assertEquals;
 import org.testng.annotations.Test;
 
 import org.hibernate.jsr303.tck.util.TestUtil;
@@ -58,6 +63,32 @@
 		assertCorrectNumberOfViolations( violations, 0 );
 	}
 
+	@Test
+	@SpecAssertion(section = "3.4.1", id = "b")
+	public void testGroupMembership() {
+		Validator validator = TestUtil.getDefaultValidator();
+		BeanDescriptor descriptor = validator.getConstraintsForClass( MiniaturePart.class );
+
+		//  PreManufacturing belongs implicitly to All
+		PropertyDescriptor propertyDescriptor = descriptor.getConstraintsForProperty( "partNumber" );
+		Set<ConstraintDescriptor<?>> descriptorsForGroup = propertyDescriptor.getUnorderdConstraintDescriptorsMatchingGroups(
+				All.class
+		);
+		assertEquals( descriptorsForGroup.size(), 1, "Wrong number of descriptors" );
+		assertEquals( descriptorsForGroup.iterator().next().getAnnotation().annotationType(), Digits.class );
+
+		//  PostManufacturing belongs implicitly to All
+		propertyDescriptor = descriptor.getConstraintsForProperty( "qaChecked" );
+		descriptorsForGroup = propertyDescriptor.getUnorderdConstraintDescriptorsMatchingGroups( All.class );
+		assertEquals( descriptorsForGroup.size(), 1, "Wrong number of descriptors" );
+		assertEquals( descriptorsForGroup.iterator().next().getAnnotation().annotationType(), AssertTrue.class );
+
+		propertyDescriptor = descriptor.getConstraintsForProperty( "size" );
+		descriptorsForGroup = propertyDescriptor.getUnorderdConstraintDescriptorsMatchingGroups( All.class );
+		assertEquals( descriptorsForGroup.size(), 1, "Wrong number of descriptors" );
+		assertEquals( descriptorsForGroup.iterator().next().getAnnotation().annotationType(), Max.class );
+	}
+
 	class Part {
 		@Digits(integer = 5, fraction = 0, groups = PreManufacturing.class)
 		private int partNumber;
@@ -82,6 +113,11 @@
 		}
 	}
 
+	class MiniaturePart extends Part {
+		@Max(value = 10, groups = All.class)
+		private int size;
+	}
+
 	interface PreManufacturing {
 	}
 



More information about the hibernate-commits mailing list