[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