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 {
}
Show replies by date