You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2007/12/18 11:05:58 UTC
svn commit: r605165 - in /wicket/trunk/jdk-1.4/wicket/src:
main/java/org/apache/wicket/validation/
main/java/org/apache/wicket/validation/validator/
test/java/org/apache/wicket/validation/validator/
Author: jcompagner
Date: Tue Dec 18 02:05:58 2007
New Revision: 605165
URL: http://svn.apache.org/viewvc?rev=605165&view=rev
Log:
fix for NEGATIVE/POSITIVE Number validations (excluding 0)
added unit test for the NumberValidations (neg/pos/range/min/max)
Added:
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/validation/validator/NumberValidatorTest.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/Validatable.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/NumberValidator.java
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/Validatable.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/Validatable.java?rev=605165&r1=605164&r2=605165&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/Validatable.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/Validatable.java Tue Dec 18 02:05:58 2007
@@ -66,6 +66,17 @@
}
/**
+ * Constructor.
+ *
+ * @param value
+ * The value that will be tested
+ */
+ public Validatable(Object value)
+ {
+ this.value = value;
+ }
+
+ /**
* Sets the value object that will be returned by {@link #getValue()}.
*
* @param value
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/NumberValidator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/NumberValidator.java?rev=605165&r1=605164&r2=605165&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/NumberValidator.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/NumberValidator.java Tue Dec 18 02:05:58 2007
@@ -41,12 +41,12 @@
/**
* a validator for ensuring for a positive number value
*/
- public static final NumberValidator POSITIVE = minimum(0);
+ public static final NumberValidator POSITIVE = minimum(Double.MIN_VALUE);
/**
- * a validator for ensuring a positive number value
+ * a validator for ensuring a negative number value
*/
- public static final NumberValidator NEGATIVE = maximum(0);
+ public static final NumberValidator NEGATIVE = maximum(-Double.MIN_VALUE);
/**
* Gets an Integer range validator for checking if a number falls between the minimum and
Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/validation/validator/NumberValidatorTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/validation/validator/NumberValidatorTest.java?rev=605165&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/validation/validator/NumberValidatorTest.java (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/validation/validator/NumberValidatorTest.java Tue Dec 18 02:05:58 2007
@@ -0,0 +1,216 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.wicket.validation.validator;
+
+import junit.framework.TestCase;
+
+import org.apache.wicket.validation.Validatable;
+
+/**
+ * @author jcompagner
+ */
+public class NumberValidatorTest extends TestCase
+{
+ /**
+ * @throws Exception
+ */
+ public void testNegative() throws Exception
+ {
+ Validatable validatable = new Validatable(new Integer(-1));
+ NumberValidator.NEGATIVE.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(0));
+ NumberValidator.NEGATIVE.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(1));
+ NumberValidator.NEGATIVE.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testPositive() throws Exception
+ {
+ Validatable validatable = new Validatable(new Integer(-1));
+ NumberValidator.POSITIVE.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(0));
+ NumberValidator.POSITIVE.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(1));
+ NumberValidator.POSITIVE.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testDoubleRange() throws Exception
+ {
+ NumberValidator range = NumberValidator.range(1.1, 1.8);
+
+ Validatable validatable = new Validatable(new Double(1));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1.1));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1.5));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1.8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(2));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+ }
+
+
+ /**
+ * @throws Exception
+ */
+ public void testDoubleMaximum() throws Exception
+ {
+ NumberValidator range = NumberValidator.maximum(1.8);
+
+ Validatable validatable = new Validatable(new Double(-100.8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1.8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(2));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testDoubleMinimum() throws Exception
+ {
+ NumberValidator range = NumberValidator.minimum(1.8);
+
+ Validatable validatable = new Validatable(new Double(-100.8));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(1.8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Double(2));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testIntegerMaximum() throws Exception
+ {
+ NumberValidator range = NumberValidator.maximum(8);
+
+ Validatable validatable = new Validatable(new Integer(-100));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(1));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(9));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testIntegerMinimum() throws Exception
+ {
+ NumberValidator range = NumberValidator.minimum(8);
+
+ Validatable validatable = new Validatable(new Integer(-100));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(1));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(9));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testIntegerRange() throws Exception
+ {
+ NumberValidator range = NumberValidator.range(1, 8);
+
+ Validatable validatable = new Validatable(new Integer(0));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(1));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(5));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(8));
+ range.validate(validatable);
+ assertEquals(0, validatable.getErrors().size());
+
+ validatable = new Validatable(new Integer(9));
+ range.validate(validatable);
+ assertEquals(1, validatable.getErrors().size());
+ }
+}