You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ni...@apache.org on 2006/01/19 07:38:52 UTC

svn commit: r370397 [3/4] - in /jakarta/commons/proper/validator/trunk: ./ src/share/org/apache/commons/validator/routines/ src/test/org/apache/commons/validator/routines/

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,228 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import junit.framework.TestCase;
+import java.util.Date;
+import java.util.Calendar;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/**
+ * Base Calendar Test Case.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class BaseCalendarValidatorTest extends TestCase {
+
+    protected AbstractCalendarValidator validator;
+
+    protected static final TimeZone GMT = TimeZone.getTimeZone("GMT"); // 0 offset
+    protected static final TimeZone EST = TimeZone.getTimeZone("EST"); // - 5 hours
+    protected static final TimeZone EET = TimeZone.getTimeZone("EET"); // + 2 hours
+
+    protected String[] patternValid = new String[] {
+                       "2005-01-01" 
+                      ,"2005-12-31"
+                      ,"2004-02-29"    // valid leap
+                      ,"2005-04-30" 
+                      ,"05-12-31"
+                      ,"2005-1-1"
+                      ,"05-1-1"};
+    protected String[] localeValid = new String[] {
+                       "01/01/2005" 
+                      ,"12/31/2005"
+                      ,"02/29/2004"    // valid leap
+                      ,"04/30/2005" 
+                      ,"12/31/05"
+                      ,"1/1/2005"
+                      ,"1/1/05"};
+    protected Date[] patternExpect = new Date[] {
+                      createDate(null, 20050101, 0)
+                     ,createDate(null, 20051231, 0)
+                     ,createDate(null, 20040229, 0)
+                     ,createDate(null, 20050430, 0)
+                     ,createDate(null, 20051231, 0)
+                     ,createDate(null, 20050101, 0)
+                     ,createDate(null, 20050101, 0)};
+    protected String[] patternInvalid = new String[] {
+                         "2005-00-01"  // zero month
+                        ,"2005-01-00"  // zero day 
+                        ,"2005-13-03"  // month invalid
+                        ,"2005-04-31"  // invalid day 
+                        ,"2005-03-32"  // invalid day 
+                        ,"2005-02-29"  // invalid leap
+                        ,"200X-01-01"  // invalid char
+                        ,"2005-0X-01"  // invalid char
+                        ,"2005-01-0X"  // invalid char
+                        ,"01/01/2005"  // invalid pattern
+                        ,"2005-01"     // invalid pattern
+                        ,"2005--01"    // invalid pattern
+                        ,"2005-01-"};  // invalid pattern
+    protected String[] localeInvalid = new String[] {
+                         "01/00/2005"  // zero month
+                        ,"00/01/2005"  // zero day 
+                        ,"13/01/2005"  // month invalid
+                        ,"04/31/2005"  // invalid day 
+                        ,"03/32/2005"  // invalid day 
+                        ,"02/29/2005"  // invalid leap
+                        ,"01/01/200X"  // invalid char
+                        ,"01/0X/2005"  // invalid char
+                        ,"0X/01/2005"  // invalid char
+                        ,"01-01-2005"  // invalid pattern
+                        ,"01/2005"     // invalid pattern
+       // --------      ,"/01/2005"    ---- passes on some JDK
+                        ,"01//2005"};  // invalid pattern
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public BaseCalendarValidatorTest(String name) {
+        super(name);
+    }
+
+    /**
+     * Set Up.
+     * @throws Exception
+     */
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    /**
+     * Tear down
+     * @throws Exception
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        validator = null;
+    }
+
+    /**
+     * Test Valid Dates with "pattern" validation
+     */
+    public void testPatternValid() {
+        for (int i = 0; i < patternValid.length; i++) {
+            String text = i + " value=[" +patternValid[i]+"] failed ";
+            Object date = validator.validateObj(patternValid[i], "yy-MM-dd");
+            assertNotNull("validateObj() " + text + date,  date);
+            assertTrue("isValid() " + text,  validator.isValid(patternValid[i], "yy-MM-dd"));
+            if (date instanceof Calendar) {
+                date = ((Calendar)date).getTime();
+            }
+            assertEquals("compare " + text, patternExpect[i], date);
+        }
+    }
+
+    /**
+     * Test Invalid Dates with "pattern" validation
+     */
+    public void testPatternInvalid() {
+        for (int i = 0; i < patternInvalid.length; i++) {
+            String text = i + " value=[" +patternInvalid[i]+"] passed ";
+            Object date = validator.validateObj(patternInvalid[i], "yy-MM-dd");
+            assertNull("validateObj() " + text + date,  date);
+            assertFalse("isValid() " + text,  validator.isValid(patternInvalid[i], "yy-MM-dd"));
+        }
+    }
+
+    /**
+     * Test Valid Dates with "locale" validation
+     */
+    public void testLocaleValid() {
+        for (int i = 0; i < localeValid.length; i++) {
+            String text = i + " value=[" +localeValid[i]+"] failed ";
+            Object date = validator.validateObj(localeValid[i], Locale.US);
+            assertNotNull("validateObj() " + text + date,  date);
+            assertTrue("isValid() " + text,  validator.isValid(localeValid[i], Locale.US));
+            if (date instanceof Calendar) {
+                date = ((Calendar)date).getTime();
+            }
+            assertEquals("compare " + text, patternExpect[i], date);
+        }
+    }
+
+    /**
+     * Test Invalid Dates with "locale" validation
+     */
+    public void testLocaleInvalid() {
+        for (int i = 0; i < localeInvalid.length; i++) {
+            String text = i + " value=[" +localeInvalid[i]+"] passed ";
+            Object date = validator.validateObj(localeInvalid[i], Locale.US);
+            assertNull("validateObj() " + text + date,  date);
+            assertFalse("isValid() " + text,  validator.isValid(localeInvalid[i], Locale.US));
+        }
+    }
+
+    /**
+     * Test Invalid Dates with "locale" validation
+     */
+    public void testFormat() {
+
+        // Create a Date or Calendar
+        Object test = validator.validateObj("2005-11-28", "yyyy-MM-dd");
+        assertNotNull("Test Date ", test);
+        assertEquals("Format pattern", "28.11.05", validator.format(test, "dd.MM.yy"));
+        assertEquals("Format locale",  "11/28/05", validator.format(test, Locale.US));
+    }
+
+    /**
+     * Create a calendar instance for a specified time zone, date and time.
+     * 
+     * @param zone The time zone
+     * @param date The date in yyyyMMdd format
+     * @param time the time in HH:mm:ss format
+     * @return the new Calendar instance.
+     */
+    protected static Calendar createCalendar(TimeZone zone, int date, int time) {
+        Calendar calendar = zone == null ? Calendar.getInstance()
+                                         : Calendar.getInstance(zone);
+        int year = ((date / 10000) * 10000);
+        int mth  = ((date / 100) * 100) - year;
+        int day = date - (year + mth);
+        int hour = ((time / 10000) * 10000);
+        int min  = ((time / 100) * 100) - hour;
+        int sec  = time - (hour + min);
+        calendar.set(Calendar.YEAR,  (year / 10000));
+        calendar.set(Calendar.MONTH, ((mth / 100) - 1));
+        calendar.set(Calendar.DATE,  day);
+        calendar.set(Calendar.HOUR_OF_DAY,  (hour / 10000));
+        calendar.set(Calendar.MINUTE, (min / 100));
+        calendar.set(Calendar.SECOND,  sec);
+        calendar.set(Calendar.MILLISECOND,  0);
+        return calendar;
+    }
+
+    /**
+     * Create a date instance for a specified time zone, date and time.
+     * 
+     * @param zone The time zone
+     * @param date The date in yyyyMMdd format
+     * @param time the time in HH:mm:ss format
+     * @return the new Date instance.
+     */
+    protected static Date createDate(TimeZone zone, int date, int time) {
+        Calendar calendar = createCalendar(zone, date, time);
+        return calendar.getTime();
+    }
+
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseCalendarValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,207 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import junit.framework.TestCase;
+
+import java.util.Locale;
+import java.text.DecimalFormat;
+import java.math.BigDecimal;
+/**
+ * Base Number Test Case.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class BaseNumberValidatorTest extends TestCase {
+
+    protected AbstractNumberValidator validator;
+    protected AbstractNumberValidator strictValidator;
+
+    protected Number max;
+    protected Number maxPlusOne;
+    protected Number min;
+    protected Number minMinusOne;
+    protected String[] invalid;
+    protected String[] valid;
+    protected Number[] validCompare;
+
+    protected String[] invalidStrict;
+    protected String[] validStrict;
+    protected Number[] validStrictCompare;
+
+    protected String testPattern;
+    protected Number testNumber;
+    protected Number testZero;
+    protected String testStringUS;
+    protected String testStringDE;
+
+    protected String localeValue;
+    protected String localePattern;
+    protected Locale testLocale;
+    protected Number localeExpected;
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public BaseNumberValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        Locale.setDefault(Locale.US);
+
+    }
+
+    /**
+     * Tear down
+     * @throws Exception
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        validator = null;
+        strictValidator = null;
+    }
+
+    /**
+     * Test Min/Max values allowed
+     */
+    public void testValidateMinMax() {
+        DecimalFormat fmt = new DecimalFormat("#");
+        if (max != null) {
+            assertEquals("Test Max",   max, validator.validateObj(fmt.format(max)));
+            assertNull("Test Max + 1",      validator.validateObj(fmt.format(maxPlusOne)));
+            assertEquals("Test Min",   min, validator.validateObj(fmt.format(min)));
+            assertNull("Test min - 1",      validator.validateObj(fmt.format(minMinusOne)));
+        }
+    }
+
+    /**
+     * Test Invalid, strict=true
+     */
+    public void testInvalidStrict() {
+        for (int i = 0; i < invalidStrict.length; i++) {
+            String text = "idx=["+i+"] value=[" + invalidStrict[i] + "]";
+            assertNull("(A) "  + text, strictValidator.validateObj(invalidStrict[i], Locale.US));
+            assertFalse("(B) " + text, strictValidator.isValid(invalidStrict[i], Locale.US));
+            assertNull("(C) "  + text, strictValidator.validateObj(invalidStrict[i], testPattern));
+            assertFalse("(D) " + text, strictValidator.isValid(invalidStrict[i], testPattern));
+        }
+    }
+
+    /**
+     * Test Invalid, strict=false
+     */
+    public void testInvalidNotStrict() {
+        for (int i = 0; i < invalid.length; i++) {
+            String text = "idx=["+i+"] value=[" + invalid[i] + "]";
+            assertNull("(A) "  + text, validator.validateObj(invalid[i], Locale.US));
+            assertFalse("(B) " + text, validator.isValid(invalid[i], Locale.US));
+            assertNull("(C) "  + text, validator.validateObj(invalid[i], testPattern));
+            assertFalse("(D) " + text, validator.isValid(invalid[i], testPattern));
+        }
+    }
+
+    /**
+     * Test Valid, strict=true
+     */
+    public void testValidStrict() {
+        for (int i = 0; i < validStrict.length; i++) {
+            String text = "idx=["+i+"] value=[" + validStrictCompare[i] + "]";
+            assertEquals("(A) "  + text, validStrictCompare[i], strictValidator.validateObj(validStrict[i], Locale.US));
+            assertTrue("(B) "    + text,                        strictValidator.isValid(validStrict[i], Locale.US));
+            assertEquals("(C) "  + text, validStrictCompare[i], strictValidator.validateObj(validStrict[i], testPattern));
+            assertTrue("(D) "    + text,                        strictValidator.isValid(validStrict[i], testPattern));
+        }
+    }
+
+    /**
+     * Test Valid, strict=false
+     */
+    public void testValidNotStrict() {
+        for (int i = 0; i < valid.length; i++) {
+            String text = "idx=["+i+"] value=[" + validCompare[i] + "]";
+            assertEquals("(A) "  + text, validCompare[i], validator.validateObj(valid[i], Locale.US));
+            assertTrue("(B) "    + text,                  validator.isValid(valid[i], Locale.US));
+            assertEquals("(C) "  + text, validCompare[i], validator.validateObj(valid[i], testPattern));
+            assertTrue("(D) "    + text,                  validator.isValid(valid[i], testPattern));
+        }
+    }
+
+    /**
+     * Test different Locale
+     */
+    public void testValidateLocale() {
+
+        assertEquals("US Locale, US Format", testNumber, strictValidator.validateObj(testStringUS, Locale.US));
+        assertNull("US Locale, DE Format", strictValidator.validateObj(testStringDE, Locale.US));
+
+        // Default German Locale
+        assertEquals("DE Locale, DE Format", testNumber, strictValidator.validateObj(testStringDE, Locale.GERMAN));
+        assertNull("DE Locale, US Format", strictValidator.validateObj(testStringUS, Locale.GERMAN));
+
+        // Default Locale has been set to Locale.US in setup()
+        assertEquals("Default Locale, US Format", testNumber, strictValidator.validateObj(testStringUS));
+        assertNull("Default Locale, DE Format", strictValidator.validateObj(testStringDE));
+    }
+
+    /**
+     * Test format() methods
+     */
+    public void testFormat() {
+        Number number = new BigDecimal("1234.5");
+        assertEquals("US Locale, US Format", "1,234.5", strictValidator.format(number, Locale.US));
+        assertEquals("DE Locale, DE Format", "1.234,5", strictValidator.format(number, Locale.GERMAN));
+        assertEquals("Pattern #,#0.00", "12,34.50",  strictValidator.format(number, "#,#0.00"));
+    }
+
+    /**
+     * Test Range/Min/Max
+     */
+    public void testRangeMinMax() {
+        Number number9 = new Integer(9);
+        Number number10 = new Integer(10);
+        Number number11 = new Integer(11);
+        Number number19 = new Integer(19);
+        Number number20 = new Integer(20);
+        Number number21 = new Integer(21);
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   strictValidator.isInRange(number9 ,  number10, number20));
+        assertTrue("isInRange() = min",    strictValidator.isInRange(number10 , number10, number20));
+        assertTrue("isInRange() in range", strictValidator.isInRange(number11 , number10, number20));
+        assertTrue("isInRange() = max",    strictValidator.isInRange(number20 , number10, number20));
+        assertFalse("isInRange() > max",   strictValidator.isInRange(number21 , number10, number20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    strictValidator.minValue(number9 ,  number10));
+        assertTrue("minValue() = min",     strictValidator.minValue(number10 , number10));
+        assertTrue("minValue() > min",     strictValidator.minValue(number11 , number10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     strictValidator.maxValue(number19 , number20));
+        assertTrue("maxValue() = max",     strictValidator.maxValue(number20 , number20));
+        assertFalse("maxValue() > max",    strictValidator.maxValue(number21 , number20));
+    }
+
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BaseNumberValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,147 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.math.BigDecimal;
+import java.util.Locale;
+
+/**
+ * Test Case for BigDecimalValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class BigDecimalValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(BigDecimalValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public BigDecimalValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new BigDecimalValidator(false);
+        strictValidator = new BigDecimalValidator(true);
+
+        testPattern = "#,###.###";
+
+        // testValidateMinMax()
+        max = null;
+        maxPlusOne = null;
+        min = null;
+        minMinusOne = null;
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2", "1.234X"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new BigDecimal("1234.5");
+        Number testNumber2 = new BigDecimal(".1");
+        Number testNumber3 = new BigDecimal("12345.67899");
+        testZero      = new BigDecimal("0");
+        validStrict          = new String[] {"0", "1234.5", "1,234.5", ".1", "12345.678990"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber, testNumber2, testNumber3};
+        valid                = new String[] {"0", "1234.5", "1,234.5", "1,234.5", "1234.5X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = "1,234.5";
+        testStringDE = "1.234,5";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###,#";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+
+    }
+
+    /**
+     * Test BigDecimalValidator validate Methods
+     */
+    public void testBigDecimalValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00,00";
+        String patternVal = "1,23,45";
+        String localeVal  = "12.345";
+        String defaultVal = "12,345";
+        String XXXX    = "XXXX"; 
+        BigDecimal expected = new BigDecimal(12345);
+        assertEquals("validate(A) default", expected, BigDecimalValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, BigDecimalValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, BigDecimalValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", BigDecimalValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", BigDecimalValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", BigDecimalValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", BigDecimalValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", BigDecimalValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", BigDecimalValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", BigDecimalValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", BigDecimalValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", BigDecimalValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test BigDecimal Range/Min/Max
+     */
+    public void testBigDecimalRangeMinMax() {
+        BigDecimalValidator validator = (BigDecimalValidator)strictValidator;
+        BigDecimal number9  = validator.validate("9", "#");
+        BigDecimal number10 = validator.validate("10", "#");
+        BigDecimal number11 = validator.validate("11", "#");
+        BigDecimal number19 = validator.validate("19", "#");
+        BigDecimal number20 = validator.validate("20", "#");
+        BigDecimal number21 = validator.validate("21", "#");
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  10, 20));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, 10, 20));
+        assertTrue("isInRange() in range", validator.isInRange(number11, 10, 20));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, 10, 20));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, 10, 20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  10));
+        assertTrue("minValue() = min",     validator.minValue(number10, 10));
+        assertTrue("minValue() > min",     validator.minValue(number11, 10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, 20));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, 20));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, 20));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigDecimalValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,145 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.math.BigInteger;
+import java.util.Locale;
+
+/**
+ * Test Case for BigIntegerValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class BigIntegerValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(BigIntegerValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public BigIntegerValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new BigIntegerValidator(false);
+        strictValidator = new BigIntegerValidator(true);
+
+        testPattern = "#,###";
+
+        // testValidateMinMax()
+        max =  null;
+        maxPlusOne = null;
+        min = null;
+        minMinusOne = null;
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2", "1.2"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new BigInteger("1234");
+        testZero      = new BigInteger("0");
+        validStrict          = new String[] {"0", "1234", "1,234"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber};
+        valid                = new String[] {"0", "1234", "1,234", "1,234.5", "1234X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = "1,234";
+        testStringDE = "1.234";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+
+    }
+
+    /**
+     * Test BigIntegerValidator validate Methods
+     */
+    public void testBigIntegerValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00,00";
+        String patternVal = "1,23,45";
+        String localeVal  = "12.345";
+        String defaultVal = "12,345";
+        String XXXX    = "XXXX"; 
+        BigInteger expected = new BigInteger("12345");
+        assertEquals("validate(A) default", expected, BigIntegerValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, BigIntegerValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, BigIntegerValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", BigIntegerValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", BigIntegerValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", BigIntegerValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", BigIntegerValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", BigIntegerValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", BigIntegerValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", BigIntegerValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", BigIntegerValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", BigIntegerValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test BigInteger Range/Min/Max
+     */
+    public void testBigIntegerRangeMinMax() {
+        BigIntegerValidator validator = (BigIntegerValidator)strictValidator;
+        BigInteger number9  = validator.validate("9", "#");
+        BigInteger number10 = validator.validate("10", "#");
+        BigInteger number11 = validator.validate("11", "#");
+        BigInteger number19 = validator.validate("19", "#");
+        BigInteger number20 = validator.validate("20", "#");
+        BigInteger number21 = validator.validate("21", "#");
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  10, 20));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, 10, 20));
+        assertTrue("isInRange() in range", validator.isInRange(number11, 10, 20));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, 10, 20));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, 10, 20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  10));
+        assertTrue("minValue() = min",     validator.minValue(number10, 10));
+        assertTrue("minValue() > min",     validator.minValue(number11, 10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, 20));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, 20));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, 20));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/BigIntegerValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,146 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Locale;
+
+/**
+ * Test Case for ByteValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class ByteValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(ByteValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public ByteValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new ByteValidator(false);
+        strictValidator = new ByteValidator(true);
+
+        testPattern = "#,###";
+
+        // testValidateMinMax()
+        max = new Byte(Byte.MAX_VALUE);
+        maxPlusOne = new Long(max.longValue() + 1);
+        min = new Byte(Byte.MIN_VALUE);
+        minMinusOne = new Long(min.longValue() - 1);
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2", "1.2"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new Byte((byte)123);
+        testZero      = new Byte((byte)0);
+        validStrict          = new String[] {"0", "123", ",123"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber};
+        valid                = new String[] {"0", "123", ",123", ",123.5", "123X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = ",123";
+        testStringDE = ".123";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+
+    }
+
+    /**
+     * Test ByteValidator validate Methods
+     */
+    public void testByteValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00";
+        String patternVal = "1,23";
+        String localeVal  = ".123";
+        String defaultVal = ",123";
+        String XXXX    = "XXXX"; 
+        Byte expected = new Byte((byte)123);
+        assertEquals("validate(A) default", expected, ByteValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, ByteValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, ByteValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", ByteValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", ByteValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", ByteValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", ByteValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", ByteValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", ByteValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", ByteValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", ByteValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", ByteValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test Byte Range/Min/Max
+     */
+    public void testByteRangeMinMax() {
+        ByteValidator validator = (ByteValidator)strictValidator;
+        Byte number9  = validator.validate("9", "#");
+        Byte number10 = validator.validate("10", "#");
+        Byte number11 = validator.validate("11", "#");
+        Byte number19 = validator.validate("19", "#");
+        Byte number20 = validator.validate("20", "#");
+        Byte number21 = validator.validate("21", "#");
+        byte min = (byte)10;
+        byte max = (byte)20;
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  min, max));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, min, max));
+        assertTrue("isInRange() in range", validator.isInRange(number11, min, max));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, min, max));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, min, max));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  min));
+        assertTrue("minValue() = min",     validator.minValue(number10, min));
+        assertTrue("minValue() > min",     validator.minValue(number11, min));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, max));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, max));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, max));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/ByteValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,208 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/**
+ * Test Case for CalendarValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class CalendarValidatorTest extends BaseCalendarValidatorTest {
+    
+    private static final int DATE_2005_11_23 = 20051123;
+    private static final int TIME_12_03_45   = 120345;
+
+    private CalendarValidator calendarValidator;
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(CalendarValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public CalendarValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        calendarValidator = new CalendarValidator();
+        validator         = calendarValidator;
+    }
+
+    /**
+     * Test CalendarValidator validate Methods
+     */
+    public void testCalendarValidatorMethods() {
+        Locale.setDefault(Locale.US);
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "yyyy-MM-dd";
+        String patternVal = "2005-12-31";
+        String localeVal  = "31.12.2005";
+        String defaultVal = "12/31/05";
+        String XXXX    = "XXXX"; 
+        Date expected = createCalendar(null, 20051231, 0).getTime();
+        assertEquals("validate(A) default", expected, CalendarValidator.getInstance().validate(defaultVal).getTime());
+        assertEquals("validate(A) locale ", expected, CalendarValidator.getInstance().validate(localeVal, locale).getTime());
+        assertEquals("validate(A) pattern", expected, CalendarValidator.getInstance().validate(patternVal, pattern).getTime());
+
+        assertTrue("isValid(A) default", CalendarValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", CalendarValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", CalendarValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", CalendarValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", CalendarValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", CalendarValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", CalendarValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", CalendarValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", CalendarValidator.getInstance().isValid(XXXX, pattern));
+
+        // Test Time Zone
+        TimeZone zone = (TimeZone.getDefault().getRawOffset() == EET.getRawOffset() ? EST : EET); 
+        Date expectedZone = createCalendar(zone, 20051231, 0).getTime();
+        assertFalse("default/EET same ", expected.getTime() == expectedZone.getTime());
+
+        assertEquals("validate(C) default", expectedZone, CalendarValidator.getInstance().validate(defaultVal, zone).getTime());
+        assertEquals("validate(C) locale ", expectedZone, CalendarValidator.getInstance().validate(localeVal, locale, zone).getTime());
+        assertEquals("validate(C) pattern", expectedZone, CalendarValidator.getInstance().validate(patternVal, pattern, zone).getTime());
+    }
+
+    /**
+     * Test compare date methods
+     */
+    public void testCompare() {
+        int sameTime = 124522;
+        int testDate = 20050823;
+        Calendar diffHour    = createCalendar(GMT, testDate, 115922);    // same date, different time
+        Calendar diffMin     = createCalendar(GMT, testDate, 124422);    // same date, different time
+        Calendar diffSec     = createCalendar(GMT, testDate, 124521);    // same date, different time
+
+        Calendar value       = createCalendar(GMT, testDate, sameTime);   // test value
+        Calendar cal20050824 = createCalendar(GMT, 20050824, sameTime);   // +1 day
+        Calendar cal20050822 = createCalendar(GMT, 20050822, sameTime);   // -1 day
+
+        Calendar cal20050830 = createCalendar(GMT, 20050830, sameTime);   // +1 week
+        Calendar cal20050816 = createCalendar(GMT, 20050816, sameTime);   // -1 week
+
+        Calendar cal20050901 = createCalendar(GMT, 20050901, sameTime);   // +1 month
+        Calendar cal20050801 = createCalendar(GMT, 20050801, sameTime);   // same month
+        Calendar cal20050731 = createCalendar(GMT, 20050731, sameTime);   // -1 month
+
+        Calendar cal20051101 = createCalendar(GMT, 20051101, sameTime);   // +1 quarter (Feb Start)
+        Calendar cal20051001 = createCalendar(GMT, 20051001, sameTime);   // +1 quarter
+        Calendar cal20050701 = createCalendar(GMT, 20050701, sameTime);   // same quarter
+        Calendar cal20050630 = createCalendar(GMT, 20050630, sameTime);   // -1 quarter
+
+        Calendar cal20060101 = createCalendar(GMT, 20060101, sameTime);   // +1 year
+        Calendar cal20050101 = createCalendar(GMT, 20050101, sameTime);   // same year
+        Calendar cal20041231 = createCalendar(GMT, 20041231, sameTime);   // -1 year
+
+        assertEquals("hour GT", 1, calendarValidator.compare(value, diffHour, Calendar.HOUR_OF_DAY));
+        assertEquals("hour EQ", 0, calendarValidator.compare(value, diffMin,  Calendar.HOUR_OF_DAY));
+        assertEquals("mins GT", 1, calendarValidator.compare(value, diffMin,  Calendar.MINUTE));
+        assertEquals("mins EQ", 0, calendarValidator.compare(value, diffSec,  Calendar.MINUTE));
+        assertEquals("secs GT", 1, calendarValidator.compare(value, diffSec,  Calendar.SECOND));
+
+        assertEquals("date LT", -1, calendarValidator.compareDates(value, cal20050824)); // +1 day
+        assertEquals("date EQ", 0,  calendarValidator.compareDates(value, diffHour));    // same day, diff hour
+        assertEquals("date GT", 1,  calendarValidator.compareDates(value, cal20050822)); // -1 day
+
+        assertEquals("week LT", -1, calendarValidator.compareWeeks(value, cal20050830)); // +1 week 
+        assertEquals("week =1", 0,  calendarValidator.compareWeeks(value, cal20050824)); // +1 day
+        assertEquals("week =2", 0,  calendarValidator.compareWeeks(value, cal20050822)); // same week
+        assertEquals("week =3", 0,  calendarValidator.compareWeeks(value, cal20050822)); // -1 day
+        assertEquals("week GT", 1,  calendarValidator.compareWeeks(value, cal20050816)); // -1 week
+
+        assertEquals("mnth LT", -1, calendarValidator.compareMonths(value, cal20050901)); // +1 month 
+        assertEquals("mnth =1", 0,  calendarValidator.compareMonths(value, cal20050830)); // +1 week 
+        assertEquals("mnth =2", 0,  calendarValidator.compareMonths(value, cal20050801)); // same month
+        assertEquals("mnth =3", 0,  calendarValidator.compareMonths(value, cal20050816)); // -1 week
+        assertEquals("mnth GT", 1,  calendarValidator.compareMonths(value, cal20050731)); // -1 month
+
+        assertEquals("qtrA <1", -1, calendarValidator.compareQuarters(value, cal20051101)); // +1 quarter (Feb) 
+        assertEquals("qtrA <2", -1, calendarValidator.compareQuarters(value, cal20051001)); // +1 quarter 
+        assertEquals("qtrA =1", 0,  calendarValidator.compareQuarters(value, cal20050901)); // +1 month 
+        assertEquals("qtrA =2", 0,  calendarValidator.compareQuarters(value, cal20050701)); // same quarter
+        assertEquals("qtrA =3", 0,  calendarValidator.compareQuarters(value, cal20050731)); // -1 month
+        assertEquals("qtrA GT", 1,  calendarValidator.compareQuarters(value, cal20050630)); // -1 quarter
+
+        // Change quarter 1 to start in Feb
+        assertEquals("qtrB LT", -1, calendarValidator.compareQuarters(value, cal20051101, 2)); // +1 quarter (Feb) 
+        assertEquals("qtrB =1", 0,  calendarValidator.compareQuarters(value, cal20051001, 2));  // same quarter 
+        assertEquals("qtrB =2", 0,  calendarValidator.compareQuarters(value, cal20050901, 2)); // +1 month 
+        assertEquals("qtrB =3", 1,  calendarValidator.compareQuarters(value, cal20050701, 2)); // same quarter
+        assertEquals("qtrB =4", 1,  calendarValidator.compareQuarters(value, cal20050731, 2)); // -1 month
+        assertEquals("qtrB GT", 1,  calendarValidator.compareQuarters(value, cal20050630, 2)); // -1 quarter
+
+        assertEquals("year LT", -1, calendarValidator.compareYears(value, cal20060101)); // +1 year 
+        assertEquals("year EQ", 0,  calendarValidator.compareYears(value, cal20050101)); // same year
+        assertEquals("year GT", 1,  calendarValidator.compareYears(value, cal20041231)); // -1 year
+    }
+
+    /**
+     * Test adjustToTimeZone() method
+     */
+    public void testAdjustToTimeZone() {
+
+        Calendar calEST = createCalendar(EST, DATE_2005_11_23, TIME_12_03_45);
+        Date dateEST = calEST.getTime();
+
+        Calendar calGMT = createCalendar(GMT, DATE_2005_11_23, TIME_12_03_45);
+        Date dateGMT = calGMT.getTime();
+
+        Calendar calCET = createCalendar(EET, DATE_2005_11_23, TIME_12_03_45);
+        Date dateCET = calCET.getTime();
+
+        // Check the dates don't match
+        assertFalse("Check GMT != CET", dateGMT.getTime() == dateCET.getTime());
+        assertFalse("Check GMT != EST", dateGMT.getTime() == dateEST.getTime());
+        assertFalse("Check CET != EST", dateCET.getTime() == dateEST.getTime());
+
+        // EST to GMT and back
+        CalendarValidator.adjustToTimeZone(calEST, GMT);
+        assertEquals("EST to GMT", dateGMT, calEST.getTime());
+        assertFalse("Check EST = GMT", dateEST == calEST.getTime());
+        CalendarValidator.adjustToTimeZone(calEST, EST);
+        assertEquals("back to EST", dateEST, calEST.getTime());
+        assertFalse("Check EST != GMT", dateGMT == calEST.getTime());
+
+        // CET to GMT and back
+        CalendarValidator.adjustToTimeZone(calCET, GMT);
+        assertEquals("CET to GMT", dateGMT, calCET.getTime());
+        assertFalse("Check CET = GMT", dateCET == calCET.getTime());
+        CalendarValidator.adjustToTimeZone(calCET, EET);
+        assertEquals("back to CET", dateCET, calCET.getTime());
+        assertFalse("Check CET != GMT", dateGMT == calCET.getTime());
+
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CalendarValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,83 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import junit.framework.TestCase;
+
+import java.util.Locale;
+import java.math.BigDecimal;
+/**
+ * Test Case for CurrencyValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class CurrencyValidatorTest extends TestCase {
+    
+    protected CurrencyValidator validator;
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(CurrencyValidatorTest.class);
+    }
+    
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public CurrencyValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        validator = new CurrencyValidator();
+    }
+
+    /**
+     * Tear down
+     * @throws Exception
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        validator = null;
+    }
+
+    /**
+     * Test Invalid, strict=false
+     */
+    public void testLocaleCurrency() {
+        String inputString = null;
+        BigDecimal expected = new BigDecimal("1234.56");
+        BigDecimal result = null;
+
+        inputString = "$1,234.56";
+        result = validator.validate(inputString, Locale.US);
+        assertEquals("US currency", expected, result);
+
+        inputString = "£1,234.56";
+        result = validator.validate(inputString, Locale.UK);
+        assertEquals("UK currency", expected, result);
+    }
+
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,164 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/**
+ * Test Case for DateValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class DateValidatorTest extends BaseCalendarValidatorTest {
+
+    private DateValidator dateValidator;
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(DateValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public DateValidatorTest(String name) {
+        super(name);
+    }
+
+    /**
+     * Set Up.
+     * @throws Exception
+     */
+    protected void setUp() throws Exception {
+        super.setUp();
+        dateValidator = new DateValidator();
+        validator         = dateValidator;
+    }
+
+    /**
+     * Test DateValidator validate Methods
+     */
+    public void testDateValidatorMethods() {
+        Locale.setDefault(Locale.US);
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "yyyy-MM-dd";
+        String patternVal = "2005-12-31";
+        String localeVal  = "31.12.2005";
+        String defaultVal = "12/31/05";
+        String XXXX    = "XXXX"; 
+        Date expected = createCalendar(null, 20051231, 0).getTime();
+
+        assertEquals("validate(A) default", expected, DateValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, DateValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, DateValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", DateValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", DateValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", DateValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", DateValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", DateValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", DateValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", DateValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", DateValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", DateValidator.getInstance().isValid(XXXX, pattern));
+
+        // Test Time Zone
+        TimeZone zone = (TimeZone.getDefault().getRawOffset() == EET.getRawOffset() ? EST : EET); 
+        Date expectedZone = createCalendar(zone, 20051231, 0).getTime();
+        assertFalse("default/zone same "+zone, expected.getTime() == expectedZone.getTime());
+
+        assertEquals("validate(C) default", expectedZone, DateValidator.getInstance().validate(defaultVal, zone));
+        assertEquals("validate(C) locale ", expectedZone, DateValidator.getInstance().validate(localeVal, locale, zone));
+        assertEquals("validate(C) pattern", expectedZone, DateValidator.getInstance().validate(patternVal, pattern, zone));
+    }
+
+    /**
+     * Test compare date methods
+     */
+    public void testCompare() {
+        int sameTime = 124522;
+        int testDate = 20050823;
+        Date diffHour    = createDate(GMT, testDate, 115922);    // same date, different time
+
+        Date value        = createDate(GMT, testDate, sameTime);   // test value
+        Date date20050824 = createDate(GMT, 20050824, sameTime);   // +1 day
+        Date date20050822 = createDate(GMT, 20050822, sameTime);   // -1 day
+
+        Date date20050830 = createDate(GMT, 20050830, sameTime);   // +1 week
+        Date date20050816 = createDate(GMT, 20050816, sameTime);   // -1 week
+
+        Date date20050901 = createDate(GMT, 20050901, sameTime);   // +1 month
+        Date date20050801 = createDate(GMT, 20050801, sameTime);   // same month
+        Date date20050731 = createDate(GMT, 20050731, sameTime);   // -1 month
+
+        Date date20051101 = createDate(GMT, 20051101, sameTime);   // +1 quarter (Feb Start)
+        Date date20051001 = createDate(GMT, 20051001, sameTime);   // +1 quarter
+        Date date20050701 = createDate(GMT, 20050701, sameTime);   // same quarter
+        Date date20050630 = createDate(GMT, 20050630, sameTime);   // -1 quarter
+
+        Date date20060101 = createDate(GMT, 20060101, sameTime);   // +1 year
+        Date date20050101 = createDate(GMT, 20050101, sameTime);   // same year
+        Date date20041231 = createDate(GMT, 20041231, sameTime);   // -1 year
+
+        assertEquals("date LT", -1, dateValidator.compareDates(value, date20050824, null)); // +1 day
+        assertEquals("date EQ", 0,  dateValidator.compareDates(value, diffHour, null));    // same day, diff hour
+        assertEquals("date GT", 1,  dateValidator.compareDates(value, date20050822, null)); // -1 day
+
+        assertEquals("week LT", -1, dateValidator.compareWeeks(value, date20050830, null)); // +1 week 
+        assertEquals("week =1", 0,  dateValidator.compareWeeks(value, date20050824, null)); // +1 day
+        assertEquals("week =2", 0,  dateValidator.compareWeeks(value, date20050822, null)); // same week
+        assertEquals("week =3", 0,  dateValidator.compareWeeks(value, date20050822, null)); // -1 day
+        assertEquals("week GT", 1,  dateValidator.compareWeeks(value, date20050816, null)); // -1 week
+
+        assertEquals("mnth LT", -1, dateValidator.compareMonths(value, date20050901, null)); // +1 month 
+        assertEquals("mnth =1", 0,  dateValidator.compareMonths(value, date20050830, null)); // +1 week 
+        assertEquals("mnth =2", 0,  dateValidator.compareMonths(value, date20050801, null)); // same month
+        assertEquals("mnth =3", 0,  dateValidator.compareMonths(value, date20050816, null)); // -1 week
+        assertEquals("mnth GT", 1,  dateValidator.compareMonths(value, date20050731, null)); // -1 month
+
+        assertEquals("qtrA <1", -1, dateValidator.compareQuarters(value, date20051101, null)); // +1 quarter (Feb) 
+        assertEquals("qtrA <2", -1, dateValidator.compareQuarters(value, date20051001, null)); // +1 quarter 
+        assertEquals("qtrA =1", 0,  dateValidator.compareQuarters(value, date20050901, null)); // +1 month 
+        assertEquals("qtrA =2", 0,  dateValidator.compareQuarters(value, date20050701, null)); // same quarter
+        assertEquals("qtrA =3", 0,  dateValidator.compareQuarters(value, date20050731, null)); // -1 month
+        assertEquals("qtrA GT", 1,  dateValidator.compareQuarters(value, date20050630, null)); // -1 quarter
+
+        // Change quarter 1 to start in Feb
+        assertEquals("qtrB LT", -1, dateValidator.compareQuarters(value, date20051101, null, 2)); // +1 quarter (Feb) 
+        assertEquals("qtrB =1", 0,  dateValidator.compareQuarters(value, date20051001, null, 2));  // same quarter 
+        assertEquals("qtrB =2", 0,  dateValidator.compareQuarters(value, date20050901, null, 2)); // +1 month 
+        assertEquals("qtrB =3", 1,  dateValidator.compareQuarters(value, date20050701, null, 2)); // same quarter
+        assertEquals("qtrB =4", 1,  dateValidator.compareQuarters(value, date20050731, null, 2)); // -1 month
+        assertEquals("qtrB GT", 1,  dateValidator.compareQuarters(value, date20050630, null, 2)); // -1 quarter
+
+        assertEquals("year LT", -1, dateValidator.compareYears(value, date20060101, null)); // +1 year 
+        assertEquals("year EQ", 0,  dateValidator.compareYears(value, date20050101, null)); // same year
+        assertEquals("year GT", 1,  dateValidator.compareYears(value, date20041231, null)); // -1 year
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DateValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,144 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Locale;
+
+/**
+ * Test Case for DoubleValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class DoubleValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(DoubleValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public DoubleValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new DoubleValidator(false);
+        strictValidator = new DoubleValidator(true);
+
+        testPattern = "#,###";
+
+        // testValidateMinMax()
+        max = null;
+        maxPlusOne = null;
+        min = null;
+        minMinusOne = null;
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new Double(1234.5);
+        testZero      = new Double(0);
+        validStrict          = new String[] {"0", "1234.5", "1,234.5"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber};
+        valid                = new String[] {"0", "1234.5", "1,234.5", "1,234.5", "1234.5X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = "1,234.5";
+        testStringDE = "1.234,5";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###,#";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+
+    }
+
+    /**
+     * Test DoubleValidator validate Methods
+     */
+    public void testDoubleValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00,00";
+        String patternVal = "1,23,45";
+        String localeVal  = "12.345";
+        String defaultVal = "12,345";
+        String XXXX    = "XXXX"; 
+        Double expected = new Double(12345);
+        assertEquals("validate(A) default", expected, DoubleValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, DoubleValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, DoubleValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", DoubleValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", DoubleValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", DoubleValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", DoubleValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", DoubleValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", DoubleValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", DoubleValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", DoubleValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", DoubleValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test Double Range/Min/Max
+     */
+    public void testDoubleRangeMinMax() {
+        DoubleValidator validator = (DoubleValidator)strictValidator;
+        Double number9  = validator.validate("9", "#");
+        Double number10 = validator.validate("10", "#");
+        Double number11 = validator.validate("11", "#");
+        Double number19 = validator.validate("19", "#");
+        Double number20 = validator.validate("20", "#");
+        Double number21 = validator.validate("21", "#");
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  10, 20));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, 10, 20));
+        assertTrue("isInRange() in range", validator.isInRange(number11, 10, 20));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, 10, 20));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, 10, 20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  10));
+        assertTrue("minValue() = min",     validator.minValue(number10, 10));
+        assertTrue("minValue() > min",     validator.minValue(number11, 10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, 20));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, 20));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, 20));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/DoubleValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,144 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Locale;
+
+/**
+ * Test Case for FloatValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class FloatValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(FloatValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public FloatValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new FloatValidator(false);
+        strictValidator = new FloatValidator(true);
+
+        testPattern = "#,###.#";
+
+        // testValidateMinMax()
+        max = new Float(Float.MAX_VALUE);
+        maxPlusOne = new Double(max.doubleValue() * 10);
+        min = new Float(Float.MAX_VALUE * -1);
+        minMinusOne = new Double(min.doubleValue() * 10);
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new Float(1234.5);
+        testZero      = new Float(0);
+        validStrict          = new String[] {"0", "1234.5", "1,234.5"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber};
+        valid                = new String[] {"0", "1234.5", "1,234.5", "1,234.5", "1234.5X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = "1,234.5";
+        testStringDE = "1.234,5";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###,#";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+
+    }
+
+    /**
+     * Test FloatValidator validate Methods
+     */
+    public void testFloatValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00,00";
+        String patternVal = "1,23,45";
+        String localeVal  = "12.345";
+        String defaultVal = "12,345";
+        String XXXX    = "XXXX"; 
+        Float expected = new Float(12345);
+        assertEquals("validate(A) default", expected, FloatValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, FloatValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, FloatValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", FloatValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", FloatValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", FloatValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", FloatValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", FloatValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", FloatValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", FloatValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", FloatValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", FloatValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test Float Range/Min/Max
+     */
+    public void testFloatRangeMinMax() {
+        FloatValidator validator = (FloatValidator)strictValidator;
+        Float number9  = validator.validate("9", "#");
+        Float number10 = validator.validate("10", "#");
+        Float number11 = validator.validate("11", "#");
+        Float number19 = validator.validate("19", "#");
+        Float number20 = validator.validate("20", "#");
+        Float number21 = validator.validate("21", "#");
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  10, 20));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, 10, 20));
+        assertTrue("isInRange() in range", validator.isInRange(number11, 10, 20));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, 10, 20));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, 10, 20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  10));
+        assertTrue("minValue() = min",     validator.minValue(number10, 10));
+        assertTrue("minValue() > min",     validator.minValue(number11, 10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, 20));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, 20));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, 20));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/FloatValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java?rev=370397&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java (added)
+++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java Wed Jan 18 22:38:24 2006
@@ -0,0 +1,143 @@
+/*
+ * $Id$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * 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.apache.commons.validator.routines;
+
+import java.util.Locale;
+
+/**
+ * Test Case for IntegerValidator.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class IntegerValidatorTest extends BaseNumberValidatorTest {
+
+    /**
+     * Main
+     * @param args arguments
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(IntegerValidatorTest.class);
+    }
+
+    /**
+     * Constructor
+     * @param name test name
+     */
+    public IntegerValidatorTest(String name) {
+        super(name);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        validator       = new IntegerValidator(false);
+        strictValidator = new IntegerValidator(true);
+
+        testPattern = "#,###";
+
+        // testValidateMinMax()
+        max = new Integer(Integer.MAX_VALUE);
+        maxPlusOne = new Long(max.longValue() + 1);
+        min = new Integer(Integer.MIN_VALUE);
+        minMinusOne = new Long(min.longValue() - 1);
+
+        // testInvalidStrict()
+        invalidStrict = new String[] {null, "", "X", "X12", "12X", "1X2", "1.2"};
+
+        // testInvalidNotStrict()
+        invalid       = new String[] {null, "", "X", "X12"};
+
+        // testValid()
+        testNumber    = new Integer(1234);
+        testZero      = new Integer(0);
+        validStrict          = new String[] {"0", "1234", "1,234"};
+        validStrictCompare   = new Number[] {testZero, testNumber, testNumber};
+        valid                = new String[] {"0", "1234", "1,234", "1,234.5", "1234X"};
+        validCompare         = new Number[] {testZero, testNumber, testNumber, testNumber, testNumber};
+
+        testStringUS = "1,234";
+        testStringDE = "1.234";
+
+        // Localized Pattern test
+        localeValue = testStringDE;
+        localePattern = "#.###";
+        testLocale    = Locale.GERMANY;
+        localeExpected = testNumber;
+    }
+
+    /**
+     * Test IntegerValidator validate Methods
+     */
+    public void testIntegerValidatorMethods() {
+        Locale locale     = Locale.GERMAN;
+        String pattern    = "0,00,00";
+        String patternVal = "1,23,45";
+        String localeVal  = "12.345";
+        String defaultVal = "12,345";
+        String XXXX    = "XXXX"; 
+        Integer expected = new Integer(12345);
+        assertEquals("validate(A) default", expected, IntegerValidator.getInstance().validate(defaultVal));
+        assertEquals("validate(A) locale ", expected, IntegerValidator.getInstance().validate(localeVal, locale));
+        assertEquals("validate(A) pattern", expected, IntegerValidator.getInstance().validate(patternVal, pattern));
+
+        assertTrue("isValid(A) default", IntegerValidator.getInstance().isValid(defaultVal));
+        assertTrue("isValid(A) locale ", IntegerValidator.getInstance().isValid(localeVal, locale));
+        assertTrue("isValid(A) pattern", IntegerValidator.getInstance().isValid(patternVal, pattern));
+
+        assertNull("validate(B) default", IntegerValidator.getInstance().validate(XXXX));
+        assertNull("validate(B) locale ", IntegerValidator.getInstance().validate(XXXX, locale));
+        assertNull("validate(B) pattern", IntegerValidator.getInstance().validate(XXXX, pattern));
+
+        assertFalse("isValid(B) default", IntegerValidator.getInstance().isValid(XXXX));
+        assertFalse("isValid(B) locale ", IntegerValidator.getInstance().isValid(XXXX, locale));
+        assertFalse("isValid(B) pattern", IntegerValidator.getInstance().isValid(XXXX, pattern));
+    }
+
+    /**
+     * Test Integer Range/Min/Max
+     */
+    public void testIntegerRangeMinMax() {
+        IntegerValidator validator = (IntegerValidator)strictValidator;
+        Integer number9  = validator.validate("9", "#");
+        Integer number10 = validator.validate("10", "#");
+        Integer number11 = validator.validate("11", "#");
+        Integer number19 = validator.validate("19", "#");
+        Integer number20 = validator.validate("20", "#");
+        Integer number21 = validator.validate("21", "#");
+
+        // Test isInRange()
+        assertFalse("isInRange() < min",   validator.isInRange(number9,  10, 20));
+        assertTrue("isInRange() = min",    validator.isInRange(number10, 10, 20));
+        assertTrue("isInRange() in range", validator.isInRange(number11, 10, 20));
+        assertTrue("isInRange() = max",    validator.isInRange(number20, 10, 20));
+        assertFalse("isInRange() > max",   validator.isInRange(number21, 10, 20));
+
+        // Test minValue()
+        assertFalse("minValue() < min",    validator.minValue(number9,  10));
+        assertTrue("minValue() = min",     validator.minValue(number10, 10));
+        assertTrue("minValue() > min",     validator.minValue(number11, 10));
+
+        // Test minValue()
+        assertTrue("maxValue() < max",     validator.maxValue(number19, 20));
+        assertTrue("maxValue() = max",     validator.maxValue(number20, 20));
+        assertFalse("maxValue() > max",    validator.maxValue(number21, 20));
+    }
+}

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/IntegerValidatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org