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

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jul 15 09:36:47 EDT 2009


Author: hardy.ferentschik
Date: 2009-07-15 09:36:47 -0400 (Wed, 15 Jul 2009)
New Revision: 17098

Added:
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/Visibility.java
Modified:
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/ValidationRequirementTest.java
Log:
added test for field and method visibilty

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/ValidationRequirementTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/ValidationRequirementTest.java	2009-07-15 13:05:38 UTC (rev 17097)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/ValidationRequirementTest.java	2009-07-15 13:36:47 UTC (rev 17098)
@@ -20,6 +20,8 @@
 import java.util.Set;
 import javax.validation.ConstraintViolation;
 import javax.validation.Validator;
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 
 import org.jboss.test.audit.annotations.SpecAssertion;
@@ -124,7 +126,7 @@
 	}
 
 	@Test(enabled = false)
-	@SpecAssertion(section = "3.1.2", id = "e")
+	@SpecAssertion(section = "3.1", id = "b")
 	public void testIgnoreStaticFieldsAndProperties() {
 		StaticFieldsAndProperties entity = new StaticFieldsAndProperties();
 
@@ -133,6 +135,32 @@
 		assertCorrectNumberOfViolations( violations, 0 );
 	}
 
+	@Test
+	@SpecAssertion(section = "3.1.2", id = "e")
+	public void testFieldAndPropertyVisiblityIsNotConstrainted() {
+		Visibility entity = new Visibility();
+
+		Validator validator = TestUtil.getDefaultValidator();
+		Set<ConstraintViolation<Visibility>> violations = validator.validate( entity );
+		assertCorrectNumberOfViolations( violations, 6 );
+		assertCorrectConstraintTypes(
+				violations, Min.class, Min.class, Min.class, DecimalMin.class, DecimalMin.class, DecimalMin.class
+		);
+		assertCorrectConstraintViolationMessages(
+				violations,
+				"publicField",
+				"protectedField",
+				"privateField",
+				"publicProperty",
+				"protectedProperty",
+				"privateProperty"
+		);
+
+		entity.setValues( 100 );
+		violations = validator.validate( entity );
+		assertCorrectNumberOfViolations( violations, 0 );
+	}
+
 	static class StaticFieldsAndProperties {
 		@NotNull
 		static Object staticField = null;

Added: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/Visibility.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/Visibility.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/application/Visibility.java	2009-07-15 13:36:47 UTC (rev 17098)
@@ -0,0 +1,57 @@
+// $Id:$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.hibernate.jsr303.tck.tests.constraints.application;
+
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.DecimalMin;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class Visibility {
+	@Min(value = 100, message = "publicField")
+	public int publicValue;
+
+	@Min(value = 100, message = "protectedField")
+	protected int protectedValue;
+
+	@Min(value = 100, message = "privateField")
+	private int privateValue;
+
+	@DecimalMin(value = "100.0", message = "publicProperty")
+	public int getPublicValue() {
+		return publicValue;
+	}
+
+	public void setValues(int value) {
+		this.publicValue = value;
+		this.protectedValue = value;
+		this.privateValue = value;
+	}
+
+	@DecimalMin(value = "100.0", message = "protectedProperty")
+	protected int getProtectedValue() {
+		return protectedValue;
+	}
+
+	@DecimalMin(value = "100.0", message = "privateProperty")
+	private int getPrivateValue() {
+		return privateValue;
+	}
+}




More information about the hibernate-commits mailing list