[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