[hibernate-commits] Hibernate SVN: r15111 - in validator/trunk/src: test/org/hibernate/validator/test and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Aug 19 06:16:17 EDT 2008
Author: hardy.ferentschik
Date: 2008-08-19 06:16:17 -0400 (Tue, 19 Aug 2008)
New Revision: 15111
Added:
validator/trunk/src/test/org/hibernate/validator/test/AssertTest.java
Modified:
validator/trunk/src/java/org/hibernate/validator/AssertFalseValidator.java
validator/trunk/src/java/org/hibernate/validator/AssertTrueValidator.java
Log:
HV-53 Updated implementation of AssertFalseValidator and AssertTrueValidator
Modified: validator/trunk/src/java/org/hibernate/validator/AssertFalseValidator.java
===================================================================
--- validator/trunk/src/java/org/hibernate/validator/AssertFalseValidator.java 2008-08-19 02:51:06 UTC (rev 15110)
+++ validator/trunk/src/java/org/hibernate/validator/AssertFalseValidator.java 2008-08-19 10:16:17 UTC (rev 15111)
@@ -8,14 +8,19 @@
* Check if a given object is false or not
*
* @author Gavin King
+ * @author Hardy Ferentschik
*/
public class AssertFalseValidator implements Validator<AssertFalse>, Serializable {
- public boolean isValid(Object value) {
- return !(Boolean) value;
- }
+ public boolean isValid(Object value) {
+ if (value == null) return true;
+ if (value instanceof Boolean) {
+ return !(Boolean) value;
+ }
+ return false;
+ }
- public void initialize(AssertFalse parameters) {
- }
+ public void initialize(AssertFalse parameters) {
+ }
}
Modified: validator/trunk/src/java/org/hibernate/validator/AssertTrueValidator.java
===================================================================
--- validator/trunk/src/java/org/hibernate/validator/AssertTrueValidator.java 2008-08-19 02:51:06 UTC (rev 15110)
+++ validator/trunk/src/java/org/hibernate/validator/AssertTrueValidator.java 2008-08-19 10:16:17 UTC (rev 15111)
@@ -5,17 +5,22 @@
/**
- * Check whether an element is true or not
+ * Check whether an element is true or not.
*
* @author Gavin King
+ * @author Hardy Ferentschik
*/
public class AssertTrueValidator implements Validator<AssertTrue>, Serializable {
- public boolean isValid(Object value) {
- return (Boolean) value;
- }
+ public boolean isValid(Object value) {
+ if (value == null) return true;
+ if (value instanceof Boolean) {
+ return (Boolean) value;
+ }
+ return false;
+ }
- public void initialize(AssertTrue parameters) {
- }
+ public void initialize(AssertTrue parameters) {
+ }
}
Added: validator/trunk/src/test/org/hibernate/validator/test/AssertTest.java
===================================================================
--- validator/trunk/src/test/org/hibernate/validator/test/AssertTest.java (rev 0)
+++ validator/trunk/src/test/org/hibernate/validator/test/AssertTest.java 2008-08-19 10:16:17 UTC (rev 15111)
@@ -0,0 +1,59 @@
+// $Id$
+package org.hibernate.validator.test;
+
+import junit.framework.TestCase;
+import org.hibernate.validator.ClassValidator;
+import org.hibernate.validator.InvalidValue;
+import org.hibernate.validator.AssertTrueValidator;
+import org.hibernate.validator.AssertFalseValidator;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * Test cases for <code>AssertFalse</code> and <code>AssertTrue</code>.
+ *
+ * @author Hardy Ferentschik
+ * @see HV-53
+ */
+public class AssertTest extends TestCase {
+ ClassValidator<BooleanHolder> classValidator;
+
+ public void setUp() throws Exception {
+ classValidator = new ClassValidator<BooleanHolder>(
+ BooleanHolder.class, ResourceBundle.getBundle("messages", Locale.ENGLISH)
+ );
+ }
+
+ public void testSuccessfulValidation() throws Exception {
+ BooleanHolder bholder = new BooleanHolder();
+ bholder.setMustBeTrue(true);
+ bholder.setMustBeFalse(false);
+ InvalidValue[] invalidValues = classValidator.getInvalidValues(bholder);
+ assertTrue("should be empty", invalidValues.length == 0);
+ }
+
+ public void testUnSuccessfulValidation() throws Exception {
+ BooleanHolder bholder = new BooleanHolder();
+ bholder.setMustBeTrue(false);
+ bholder.setMustBeFalse(true);
+ InvalidValue[] invalidValues = classValidator.getInvalidValues(bholder);
+ assertTrue("should be empty", invalidValues.length == 2);
+ }
+
+ public void testNullValidation() throws Exception {
+ BooleanHolder bholder = new BooleanHolder();
+ bholder.setMustBeTrue(null);
+ bholder.setMustBeFalse(null);
+ InvalidValue[] invalidValues = classValidator.getInvalidValues(bholder);
+ assertTrue("should be empty", invalidValues.length == 0);
+ }
+
+ public void testNonBooleanValidation() throws Exception {
+ AssertTrueValidator trueValidator = new AssertTrueValidator();
+ assertFalse(trueValidator.isValid("foo"));
+
+ AssertFalseValidator falseValidator = new AssertFalseValidator();
+ assertFalse(falseValidator.isValid("foo"));
+ }
+}
\ No newline at end of file
Property changes on: validator/trunk/src/test/org/hibernate/validator/test/AssertTest.java
___________________________________________________________________
Name: svn:keywords
+ Id
More information about the hibernate-commits
mailing list