commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bay...@apache.org
Subject svn commit: r639943 [17/17] - in /commons/proper/cli/trunk/src: java/org/apache/commons/cli2/ java/org/apache/commons/cli2/builder/ java/org/apache/commons/cli2/commandline/ java/org/apache/commons/cli2/option/ java/org/apache/commons/cli2/resource/ ja...
Date Sat, 22 Mar 2008 03:08:35 GMT
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,220 @@
-/* * 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.commons.cli2.validation;import java.text.DateFormat;import java.text.DateFormatSymbols;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Calendar;import java.u
 til.Date;import java.util.Iterator;import java.util.List;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import org.apache.commons.cli2.resource.ResourceConstants;import org.apache.commons.cli2.resource.ResourceHelper;/** * JUnit test case for DateValidator. * * @author Rob Oxspring * @author John Keyes */public class DateValidatorTest    extends TestCase {    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();    public static final DateFormat D_M_YY = new SimpleDateFormat("d/M/yy");    public static final DateFormat YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd");    private List formats = Arrays.asList(new Object[] { D_M_YY, YYYY_MM_DD });    public void testSingleFormatValidate()        throws InvalidArgumentException {        final Object[] array = new Object[] { "23/12/03" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator(D_M_YY);        val
 idator.validate(list);        final Iterator i = list.iterator();        assertEquals("2003-12-23", YYYY_MM_DD.format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testDefaultDateFormatValidate()        throws InvalidArgumentException {        DateFormatSymbols symbols =  new DateFormatSymbols();        final Object[] array = new Object[] { "23-" + symbols.getShortMonths()[11] + "-2003" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator( new SimpleDateFormat("dd-MMM-yyyy") );        validator.validate(list);        final Iterator i = list.iterator();        // CLI-40: For some reason, the YYYY_MM_DD object gets quite        // confused here and returns 2003-12-22. If we make a new one        // there is no problem.        assertEquals("2003-12-23", new SimpleDateFormat("yyyy-MM-dd").format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testDefaultTimeFormatValidate()       
  throws InvalidArgumentException {        final Object[] array = new Object[] { "18:00:00" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator( new SimpleDateFormat("HH:mm:ss") );        validator.validate(list);        final Iterator i = list.iterator();        final DateFormat df = new SimpleDateFormat("HH:mm:ss");        assertEquals("18:00:00", df.format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testDefaultDateTimeFormatValidate()        throws InvalidArgumentException {        DateFormatSymbols symbols =  new DateFormatSymbols();        final Object[] array = new Object[] { "23-" + symbols.getShortMonths()[0] + "-2003 18:00:00" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator( new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss") );        validator.validate(list);        final Iterator i = list.iterator();        final DateFormat df = new Simple
 DateFormat("yyyy/M/dd HH:mm:ss");        assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testDefaultValidator()        throws InvalidArgumentException {        final Object[] array = new Object[] { "23/01/03 18:00" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator(new SimpleDateFormat("dd/MM/yy HH:mm"));        validator.validate(list);        final Iterator i = list.iterator();        final DateFormat df = new SimpleDateFormat("yyyy/M/dd HH:mm:ss");        assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testValidate()        throws InvalidArgumentException {        final Object[] array = new Object[] { "23/12/03", "2002-10-12" };        final List list = Arrays.asList(array);        final Validator validator = new DateValidator(formats);        validator.validate(list);        final Ite
 rator i = list.iterator();        assertEquals("2003-12-23", YYYY_MM_DD.format((Date) i.next()));        assertEquals("2002-10-12", YYYY_MM_DD.format((Date) i.next()));        assertFalse(i.hasNext());    }    public void testMinimumBounds()        throws InvalidArgumentException {        final DateValidator validator = new DateValidator(formats);        final Calendar cal = Calendar.getInstance();        {            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };            final List list = Arrays.asList(array);            cal.set(2002, 1, 12);            final Date min = cal.getTime();            validator.setMinimum(min);            assertTrue("maximum bound is set", validator.getMaximum() == null);            assertEquals("minimum bound is incorrect", min, validator.getMinimum());            validator.validate(list);        }        {            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };            final List list = Arrays.asLis
 t(array);            cal.set(2003, 1, 12);            final Date min = cal.getTime();            validator.setMinimum(min);            try {                validator.validate(list);                fail("minimum out of bounds exception not caught");            } catch (final InvalidArgumentException exp) {                assertEquals(resources.getMessage(ResourceConstants.DATEVALIDATOR_DATE_OUTOFRANGE,                                                  new Object[] { "2002-10-12" }), exp.getMessage());            }        }    }    public void testFormats()        throws InvalidArgumentException {        final DateValidator validator = new DateValidator(formats);        assertEquals("date format is incorrect", ((SimpleDateFormat) formats.get(0)).toPattern(),                     ((SimpleDateFormat) validator.getFormats()[0]).toPattern());        assertEquals("date format is incorrect", ((SimpleDateFormat) formats.get(1)).toPattern(),                     ((SimpleDateFormat) valid
 ator.getFormats()[1]).toPattern());    }    public void testMaximumBounds()        throws InvalidArgumentException {        final DateValidator validator = new DateValidator(formats);        final Calendar cal = Calendar.getInstance();        {            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };            final List list = Arrays.asList(array);            cal.set(2004, 1, 12);            final Date max = cal.getTime();            validator.setMaximum(max);            assertTrue("minimum bound is set", validator.getMinimum() == null);            assertEquals("maximum bound is incorrect", max, validator.getMaximum());            validator.validate(list);        }        {            final Object[] array = new Object[] { "23/12/03", "2004-10-12" };            final List list = Arrays.asList(array);            cal.set(2004, 1, 12);            final Date max = cal.getTime();            validator.setMaximum(max);            try {                validator.
 validate(list);                fail("maximum out of bounds exception not caught");            } catch (final InvalidArgumentException exp) {                assertEquals(resources.getMessage(ResourceConstants.DATEVALIDATOR_DATE_OUTOFRANGE,                                                  new Object[] { "2004-10-12" }), exp.getMessage());            }        }    }    public static Test suite() {        Test result = new TestSuite(DateValidatorTest.class); // default behavior        result = new TimeZoneTestSuite("EST", result); // ensure it runs in EST timezone        return result;    }}
\ No newline at end of file
+/*
+ * 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.commons.cli2.validation;
+
+import java.text.DateFormat;
+import java.text.DateFormatSymbols;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.commons.cli2.resource.ResourceConstants;
+import org.apache.commons.cli2.resource.ResourceHelper;
+
+/**
+ * JUnit test case for DateValidator.
+ *
+ * @author Rob Oxspring
+ * @author John Keyes
+ */
+public class DateValidatorTest
+    extends TestCase {
+    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();
+    public static final DateFormat D_M_YY = new SimpleDateFormat("d/M/yy");
+    public static final DateFormat YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd");
+    private List formats = Arrays.asList(new Object[] { D_M_YY, YYYY_MM_DD });
+
+    public void testSingleFormatValidate()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "23/12/03" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator(D_M_YY);
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals("2003-12-23", YYYY_MM_DD.format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testDefaultDateFormatValidate()
+        throws InvalidArgumentException {
+        DateFormatSymbols symbols =  new DateFormatSymbols();
+        final Object[] array = new Object[] { "23-" + symbols.getShortMonths()[11] + "-2003" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator( new SimpleDateFormat("dd-MMM-yyyy") );
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        // CLI-40: For some reason, the YYYY_MM_DD object gets quite 
+        // confused here and returns 2003-12-22. If we make a new one 
+        // there is no problem.
+        assertEquals("2003-12-23", new SimpleDateFormat("yyyy-MM-dd").format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testDefaultTimeFormatValidate()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "18:00:00" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator( new SimpleDateFormat("HH:mm:ss") );
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        final DateFormat df = new SimpleDateFormat("HH:mm:ss");
+        assertEquals("18:00:00", df.format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testDefaultDateTimeFormatValidate()
+        throws InvalidArgumentException {
+        DateFormatSymbols symbols =  new DateFormatSymbols();
+        final Object[] array = new Object[] { "23-" + symbols.getShortMonths()[0] + "-2003 18:00:00" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator( new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss") );
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        final DateFormat df = new SimpleDateFormat("yyyy/M/dd HH:mm:ss");
+        assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testDefaultValidator()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "23/01/03 18:00" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator(new SimpleDateFormat("dd/MM/yy HH:mm"));
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        final DateFormat df = new SimpleDateFormat("yyyy/M/dd HH:mm:ss");
+        assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testValidate()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "23/12/03", "2002-10-12" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new DateValidator(formats);
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals("2003-12-23", YYYY_MM_DD.format((Date) i.next()));
+        assertEquals("2002-10-12", YYYY_MM_DD.format((Date) i.next()));
+        assertFalse(i.hasNext());
+    }
+
+    public void testMinimumBounds()
+        throws InvalidArgumentException {
+        final DateValidator validator = new DateValidator(formats);
+        final Calendar cal = Calendar.getInstance();
+
+        {
+            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };
+            final List list = Arrays.asList(array);
+            cal.set(2002, 1, 12);
+
+            final Date min = cal.getTime();
+            validator.setMinimum(min);
+            assertTrue("maximum bound is set", validator.getMaximum() == null);
+            assertEquals("minimum bound is incorrect", min, validator.getMinimum());
+            validator.validate(list);
+        }
+
+        {
+            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };
+            final List list = Arrays.asList(array);
+            cal.set(2003, 1, 12);
+
+            final Date min = cal.getTime();
+            validator.setMinimum(min);
+
+            try {
+                validator.validate(list);
+                fail("minimum out of bounds exception not caught");
+            } catch (final InvalidArgumentException exp) {
+                assertEquals(resources.getMessage(ResourceConstants.DATEVALIDATOR_DATE_OUTOFRANGE,
+                                                  new Object[] { "2002-10-12" }), exp.getMessage());
+            }
+        }
+    }
+
+    public void testFormats()
+        throws InvalidArgumentException {
+        final DateValidator validator = new DateValidator(formats);
+        assertEquals("date format is incorrect", ((SimpleDateFormat) formats.get(0)).toPattern(),
+                     ((SimpleDateFormat) validator.getFormats()[0]).toPattern());
+        assertEquals("date format is incorrect", ((SimpleDateFormat) formats.get(1)).toPattern(),
+                     ((SimpleDateFormat) validator.getFormats()[1]).toPattern());
+    }
+
+    public void testMaximumBounds()
+        throws InvalidArgumentException {
+        final DateValidator validator = new DateValidator(formats);
+        final Calendar cal = Calendar.getInstance();
+
+        {
+            final Object[] array = new Object[] { "23/12/03", "2002-10-12" };
+            final List list = Arrays.asList(array);
+            cal.set(2004, 1, 12);
+
+            final Date max = cal.getTime();
+            validator.setMaximum(max);
+            assertTrue("minimum bound is set", validator.getMinimum() == null);
+            assertEquals("maximum bound is incorrect", max, validator.getMaximum());
+            validator.validate(list);
+        }
+
+        {
+            final Object[] array = new Object[] { "23/12/03", "2004-10-12" };
+            final List list = Arrays.asList(array);
+            cal.set(2004, 1, 12);
+
+            final Date max = cal.getTime();
+            validator.setMaximum(max);
+
+            try {
+                validator.validate(list);
+                fail("maximum out of bounds exception not caught");
+            } catch (final InvalidArgumentException exp) {
+                assertEquals(resources.getMessage(ResourceConstants.DATEVALIDATOR_DATE_OUTOFRANGE,
+                                                  new Object[] { "2004-10-12" }), exp.getMessage());
+            }
+        }
+    }
+
+    public static Test suite() {
+        Test result = new TestSuite(DateValidatorTest.class); // default behavior
+        result = new TimeZoneTestSuite("EST", result); // ensure it runs in EST timezone
+
+        return result;
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/EnumValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/EnumValidatorTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/EnumValidatorTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/EnumValidatorTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,66 @@
-/* * 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.commons.cli2.validation;import java.util.Arrays;import java.util.Iterator;import java.util.List;import java.util.Set;import java.util.TreeSet;import junit.framework.TestCase;import org
 .apache.commons.cli2.resource.ResourceConstants;import org.apache.commons.cli2.resource.ResourceHelper;public class EnumValidatorTest    extends TestCase {    private final static ResourceHelper resources = ResourceHelper.getResourceHelper();    private final Set enumSet = new TreeSet(Arrays.asList(new Object[] { "red", "green", "blue" }));    public void testValidate()        throws InvalidArgumentException {        final Object[] array = new Object[] { "red", "green" };        {            final List list = Arrays.asList(array);            final EnumValidator validator = new EnumValidator(enumSet);            assertEquals("valid values are incorrect", enumSet, validator.getValidValues());            validator.validate(list);            final Iterator i = list.iterator();            assertEquals("red", i.next());            assertEquals("green", i.next());            assertFalse(i.hasNext());        }    }    public void testNonMember() {        final Object[] array = new O
 bject[] { "red", "pink" };        final List list = Arrays.asList(array);        final EnumValidator validator = new EnumValidator(enumSet);        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals(resources.getMessage(ResourceConstants.ENUM_ILLEGAL_VALUE,                                              new Object[] { "pink", validator.getValuesAsString() }),                         e.getMessage());        }    }}
\ No newline at end of file
+/*
+ * 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.commons.cli2.validation;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.cli2.resource.ResourceConstants;
+import org.apache.commons.cli2.resource.ResourceHelper;
+
+public class EnumValidatorTest
+    extends TestCase {
+    private final static ResourceHelper resources = ResourceHelper.getResourceHelper();
+    private final Set enumSet = new TreeSet(Arrays.asList(new Object[] { "red", "green", "blue" }));
+
+    public void testValidate()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "red", "green" };
+
+        {
+            final List list = Arrays.asList(array);
+            final EnumValidator validator = new EnumValidator(enumSet);
+            assertEquals("valid values are incorrect", enumSet, validator.getValidValues());
+            validator.validate(list);
+
+            final Iterator i = list.iterator();
+            assertEquals("red", i.next());
+            assertEquals("green", i.next());
+            assertFalse(i.hasNext());
+        }
+    }
+
+    public void testNonMember() {
+        final Object[] array = new Object[] { "red", "pink" };
+        final List list = Arrays.asList(array);
+        final EnumValidator validator = new EnumValidator(enumSet);
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals(resources.getMessage(ResourceConstants.ENUM_ILLEGAL_VALUE,
+                                              new Object[] { "pink", validator.getValuesAsString() }),
+                         e.getMessage());
+        }
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/FileValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/FileValidatorTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/FileValidatorTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/FileValidatorTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,196 @@
-/* * 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.commons.cli2.validation;import java.io.File;import java.io.IOException;import java.util.Arrays;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;/** * JUn
 it test case for the FileValidator. * * @author Rob Oxspring * @author John Keyes */public class FileValidatorTest extends TestCase {    public void testValidate() throws InvalidArgumentException {        final Object[] array = new Object[] { "src", "project.xml",                "veryunlikelyfilename" };        final List list = Arrays.asList(array);        final FileValidator validator = new FileValidator();        validator.validate(list);        final Iterator i = list.iterator();        assertEquals(new File("src"), i.next());        assertEquals(new File("project.xml"), i.next());        assertEquals(new File("veryunlikelyfilename"), i.next());        assertFalse(i.hasNext());    }    public void testValidate_Directory() {        final Object[] array = new Object[] { "src", "project.xml" };        final List list = Arrays.asList(array);        final FileValidator validator = FileValidator                .getExistingDirectoryInstance();        assertTrue("is a directory 
 validator", validator.isDirectory());        assertFalse("is not a file validator", validator.isFile());        assertTrue("is an existing file validator", validator.isExisting());        assertFalse("is not a hidden file validator", validator.isHidden());        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("project.xml", e.getMessage());        }    }    public void testValidate_ReadableFile() {        // make file readonly        File file = new File("src/test/data/readable.txt");        file.setReadOnly();        final Object[] array = new Object[] { "src/test/data/readable.txt",                "src/test/data/notreadable.txt" };        final List list = Arrays.asList(array);        final FileValidator validator = FileValidator.getExistingFileInstance();        validator.setReadable(true);        assertFalse("is not a directory validator", validator.isDirectory(
 ));        assertTrue("is a file validator", validator.isFile());        assertTrue("is an existing file validator", validator.isExisting());        assertFalse("is not a hidden file validator", validator.isHidden());        assertTrue("is a readable file validator", validator.isReadable());        assertFalse("is not a writable file validator", validator.isWritable());        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("src/test/data/notreadable.txt", e.getMessage());        }    }    public void testValidate_WritableFile() {        // make file readonly        File file = new File("src/test/data/readable.txt");        file.setReadOnly();        final Object[] array = new Object[] { "src/test/data/writable.txt",                "src/test/data/readable.txt" };        final List list = Arrays.asList(array);        final FileValidator validator = FileValidator.getEx
 istingFileInstance();        validator.setWritable(true);        assertFalse("is not a directory validator", validator.isDirectory());        assertTrue("is a file validator", validator.isFile());        assertTrue("is an existing file validator", validator.isExisting());        assertFalse("is not a hidden file validator", validator.isHidden());        assertFalse("is not a readable file validator", validator.isReadable());        assertTrue("is a writable file validator", validator.isWritable());        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("src/test/data/readable.txt", e.getMessage());        }    }    public void testValidate_HiddenFile() throws InvalidArgumentException {        // make file hidden on Windows        attribute("H");        final Object[] array = new Object[] { "src/test/data/.hidden.txt", "src" };        final List list = Arrays.asList(a
 rray);        final FileValidator validator = FileValidator.getExistingFileInstance();        validator.setHidden(true);        assertFalse("is not a directory validator", validator.isDirectory());        assertTrue("is a file validator", validator.isFile());        assertTrue("is an existing file validator", validator.isExisting());        assertTrue("is a hidden file validator", validator.isHidden());        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("src", e.getMessage());        }    }    private void attribute(String attr) {        final String os = System.getProperty("os.name").toLowerCase();        // if the test is run on windows, run the attrib program        // to set the hidden attribute        if (os.indexOf("windows") != -1) {            // windows            try {                Process proc = Runtime.getRuntime().exec(                        "attr
 ib.exe +" + attr + " src/test/data/.hidden.txt",                        null, new File("."));                proc.waitFor();            } catch (InterruptedException e) {                System.out.println(e.getMessage());                e.printStackTrace();            } catch (IOException e) {                System.out.println(e.getMessage());                e.printStackTrace();            }        }    }    public void testValidate_Existing() {        final Object[] array = new Object[] { "project.xml",                "veryunlikelyfilename" };        final List list = Arrays.asList(array);        final FileValidator validator = FileValidator.getExistingInstance();        assertFalse("is not a directory validator", validator.isDirectory());        assertFalse("is not a file validator", validator.isFile());        assertTrue("is an existing file validator", validator.isExisting());        assertFalse("is not a hidden file validator", validator.isHidden());        try {       
      validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("veryunlikelyfilename", e.getMessage());        }    }    public void testValidate_File() {        final Object[] array = new Object[] { "project.xml", "src" };        final List list = Arrays.asList(array);        final Validator validator = FileValidator.getExistingFileInstance();        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("src", e.getMessage());        }    }}
\ No newline at end of file
+/*
+ * 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.commons.cli2.validation;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/**
+ * JUnit test case for the FileValidator.
+ * 
+ * @author Rob Oxspring
+ * @author John Keyes
+ */
+public class FileValidatorTest extends TestCase {
+
+    public void testValidate() throws InvalidArgumentException {
+        final Object[] array = new Object[] { "src", "project.xml",
+                "veryunlikelyfilename" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = new FileValidator();
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals(new File("src"), i.next());
+        assertEquals(new File("project.xml"), i.next());
+        assertEquals(new File("veryunlikelyfilename"), i.next());
+        assertFalse(i.hasNext());
+    }
+
+    public void testValidate_Directory() {
+        final Object[] array = new Object[] { "src", "project.xml" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = FileValidator
+                .getExistingDirectoryInstance();
+
+        assertTrue("is a directory validator", validator.isDirectory());
+        assertFalse("is not a file validator", validator.isFile());
+        assertTrue("is an existing file validator", validator.isExisting());
+        assertFalse("is not a hidden file validator", validator.isHidden());
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("project.xml", e.getMessage());
+        }
+    }
+
+    public void testValidate_ReadableFile() {
+        // make file readonly
+        File file = new File("src/test/data/readable.txt");
+        file.setReadOnly();
+
+        final Object[] array = new Object[] { "src/test/data/readable.txt",
+                "src/test/data/notreadable.txt" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = FileValidator.getExistingFileInstance();
+        validator.setReadable(true);
+
+        assertFalse("is not a directory validator", validator.isDirectory());
+        assertTrue("is a file validator", validator.isFile());
+        assertTrue("is an existing file validator", validator.isExisting());
+        assertFalse("is not a hidden file validator", validator.isHidden());
+        assertTrue("is a readable file validator", validator.isReadable());
+        assertFalse("is not a writable file validator", validator.isWritable());
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("src/test/data/notreadable.txt", e.getMessage());
+        }
+    }
+
+    public void testValidate_WritableFile() {
+        // make file readonly
+        File file = new File("src/test/data/readable.txt");
+        file.setReadOnly();
+
+        final Object[] array = new Object[] { "src/test/data/writable.txt",
+                "src/test/data/readable.txt" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = FileValidator.getExistingFileInstance();
+        validator.setWritable(true);
+
+        assertFalse("is not a directory validator", validator.isDirectory());
+        assertTrue("is a file validator", validator.isFile());
+        assertTrue("is an existing file validator", validator.isExisting());
+        assertFalse("is not a hidden file validator", validator.isHidden());
+        assertFalse("is not a readable file validator", validator.isReadable());
+        assertTrue("is a writable file validator", validator.isWritable());
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("src/test/data/readable.txt", e.getMessage());
+        }
+    }
+
+    public void testValidate_HiddenFile() throws InvalidArgumentException {
+        // make file hidden on Windows
+        attribute("H");
+
+        final Object[] array = new Object[] { "src/test/data/.hidden.txt", "src" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = FileValidator.getExistingFileInstance();
+        validator.setHidden(true);
+
+        assertFalse("is not a directory validator", validator.isDirectory());
+        assertTrue("is a file validator", validator.isFile());
+        assertTrue("is an existing file validator", validator.isExisting());
+        assertTrue("is a hidden file validator", validator.isHidden());
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("src", e.getMessage());
+        }
+    }
+
+    private void attribute(String attr) {
+        final String os = System.getProperty("os.name").toLowerCase();
+
+        // if the test is run on windows, run the attrib program
+        // to set the hidden attribute
+        if (os.indexOf("windows") != -1) {
+            // windows
+            try {
+                Process proc = Runtime.getRuntime().exec(
+                        "attrib.exe +" + attr + " src/test/data/.hidden.txt",
+                        null, new File("."));
+                proc.waitFor();
+            } catch (InterruptedException e) {
+                System.out.println(e.getMessage());
+                e.printStackTrace();
+            } catch (IOException e) {
+                System.out.println(e.getMessage());
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public void testValidate_Existing() {
+        final Object[] array = new Object[] { "project.xml",
+                "veryunlikelyfilename" };
+        final List list = Arrays.asList(array);
+        final FileValidator validator = FileValidator.getExistingInstance();
+
+        assertFalse("is not a directory validator", validator.isDirectory());
+        assertFalse("is not a file validator", validator.isFile());
+        assertTrue("is an existing file validator", validator.isExisting());
+        assertFalse("is not a hidden file validator", validator.isHidden());
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("veryunlikelyfilename", e.getMessage());
+        }
+    }
+
+    public void testValidate_File() {
+        final Object[] array = new Object[] { "project.xml", "src" };
+        final List list = Arrays.asList(array);
+        final Validator validator = FileValidator.getExistingFileInstance();
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("src", e.getMessage());
+        }
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/NumberValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/NumberValidatorTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/NumberValidatorTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/NumberValidatorTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,168 @@
-/* * 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.commons.cli2.validation;import java.text.NumberFormat;import java.util.Arrays;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;import org.apache.commons.
 cli2.resource.ResourceConstants;import org.apache.commons.cli2.resource.ResourceHelper;/** * JUnit test case for NumberValidator. * * @author Rob Oxspring * @author John Keyes */public class NumberValidatorTest    extends TestCase {    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();    public void testValidate_Number()        throws InvalidArgumentException {        final NumberFormat format = NumberFormat.getNumberInstance();        final Object[] array =            new Object[] { format.format(1d), format.format(1.07d), format.format(-.45d) };        {            final List list = Arrays.asList(array);            final Validator validator = NumberValidator.getNumberInstance();            validator.validate(list);            final Iterator i = list.iterator();            assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);            assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);            assertEquals(-.45d, ((N
 umber) i.next()).doubleValue(), 0.0001);            assertFalse(i.hasNext());        }    }    public void testValidate_Currency()        throws InvalidArgumentException {        NumberFormat format = NumberFormat.getCurrencyInstance();        final Object[] array =            new Object[] { format.format(1d), format.format(1.07), format.format(-0.45) };        final List list = Arrays.asList(array);        final NumberValidator validator = NumberValidator.getCurrencyInstance();        assertEquals("incorrect currency format", format, validator.getFormat());        validator.validate(list);        final Iterator i = list.iterator();        assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(-.45d, ((Number) i.next()).doubleValue(), 0.0001);        assertFalse(i.hasNext());    }    public void testValidate_Percent()        throws InvalidArgumentException {        final NumberFo
 rmat format = NumberFormat.getPercentInstance();        final Object[] array =            new Object[] {                             format.format(.01), format.format(1.07), format.format(-.45),                             format.format(0.001)            };        final List list = Arrays.asList(array);        final Validator validator = NumberValidator.getPercentInstance();        validator.validate(list);        final Iterator i = list.iterator();        assertEquals(0.01d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(-.45d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(0.00001d, ((Number) i.next()).doubleValue(), 0.0001);        assertFalse(i.hasNext());    }    public void testValidate_Integer()        throws InvalidArgumentException {        final Object[] array = new Object[] { "1", "107", "-45" };        final List list = Arrays.asList(array);        final Valid
 ator validator = NumberValidator.getIntegerInstance();        validator.validate(list);        final Iterator i = list.iterator();        assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(107d, ((Number) i.next()).doubleValue(), 0.0001);        assertEquals(-45d, ((Number) i.next()).doubleValue(), 0.0001);        assertFalse(i.hasNext());    }    public void testValidate_ExcessChars() {        final Object[] array = new Object[] { "10DowningStreet" };        final List list = Arrays.asList(array);        final Validator validator = NumberValidator.getIntegerInstance();        try {            validator.validate(list);            fail("InvalidArgumentException");        } catch (InvalidArgumentException e) {            assertEquals("10DowningStreet", e.getMessage());        }    }    public void testValidate_Maximum() {        final Object[] array = new Object[] { "1", "107" };        final List list = Arrays.asList(array);        final NumberVa
 lidator validator = NumberValidator.getIntegerInstance();        Integer max = new Integer(100);        validator.setMaximum(max);        assertTrue("no minimum set", validator.getMinimum() == null);        assertEquals("incorrect maximum value", max, validator.getMaximum());        try {            validator.validate(list);            fail("107 too big");        } catch (InvalidArgumentException ive) {            assertEquals(resources.getMessage(ResourceConstants.NUMBERVALIDATOR_NUMBER_OUTOFRANGE,                                              "107"), ive.getMessage());        }    }    public void testValidate_Minimum() {        final Object[] array = new Object[] { "107", "1" };        final List list = Arrays.asList(array);        final NumberValidator validator = NumberValidator.getIntegerInstance();        Integer min = new Integer(100);        validator.setMinimum(min);        assertTrue("no maximum set", validator.getMaximum() == null);        assertEquals("incorrect 
 minimum value", min, validator.getMinimum());        try {            validator.validate(list);            fail("1 too small");        } catch (InvalidArgumentException ive) {            assertEquals(resources.getMessage(ResourceConstants.NUMBERVALIDATOR_NUMBER_OUTOFRANGE,                                              "1"), ive.getMessage());        }    }}
\ No newline at end of file
+/*
+ * 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.commons.cli2.validation;
+
+import java.text.NumberFormat;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.cli2.resource.ResourceConstants;
+import org.apache.commons.cli2.resource.ResourceHelper;
+
+/**
+ * JUnit test case for NumberValidator.
+ *
+ * @author Rob Oxspring
+ * @author John Keyes
+ */
+public class NumberValidatorTest
+    extends TestCase {
+    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();
+
+    public void testValidate_Number()
+        throws InvalidArgumentException {
+        final NumberFormat format = NumberFormat.getNumberInstance();
+
+        final Object[] array =
+            new Object[] { format.format(1d), format.format(1.07d), format.format(-.45d) };
+
+        {
+            final List list = Arrays.asList(array);
+            final Validator validator = NumberValidator.getNumberInstance();
+
+            validator.validate(list);
+
+            final Iterator i = list.iterator();
+            assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);
+            assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);
+            assertEquals(-.45d, ((Number) i.next()).doubleValue(), 0.0001);
+            assertFalse(i.hasNext());
+        }
+    }
+
+    public void testValidate_Currency()
+        throws InvalidArgumentException {
+        NumberFormat format = NumberFormat.getCurrencyInstance();
+        final Object[] array =
+            new Object[] { format.format(1d), format.format(1.07), format.format(-0.45) };
+        final List list = Arrays.asList(array);
+
+        final NumberValidator validator = NumberValidator.getCurrencyInstance();
+        assertEquals("incorrect currency format", format, validator.getFormat());
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(-.45d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertFalse(i.hasNext());
+    }
+
+    public void testValidate_Percent()
+        throws InvalidArgumentException {
+        final NumberFormat format = NumberFormat.getPercentInstance();
+
+        final Object[] array =
+            new Object[] {
+                             format.format(.01), format.format(1.07), format.format(-.45),
+                             format.format(0.001)
+            };
+        final List list = Arrays.asList(array);
+        final Validator validator = NumberValidator.getPercentInstance();
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals(0.01d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(1.07d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(-.45d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(0.00001d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertFalse(i.hasNext());
+    }
+
+    public void testValidate_Integer()
+        throws InvalidArgumentException {
+        final Object[] array = new Object[] { "1", "107", "-45" };
+        final List list = Arrays.asList(array);
+        final Validator validator = NumberValidator.getIntegerInstance();
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals(1d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(107d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertEquals(-45d, ((Number) i.next()).doubleValue(), 0.0001);
+        assertFalse(i.hasNext());
+    }
+
+    public void testValidate_ExcessChars() {
+        final Object[] array = new Object[] { "10DowningStreet" };
+        final List list = Arrays.asList(array);
+        final Validator validator = NumberValidator.getIntegerInstance();
+
+        try {
+            validator.validate(list);
+            fail("InvalidArgumentException");
+        } catch (InvalidArgumentException e) {
+            assertEquals("10DowningStreet", e.getMessage());
+        }
+    }
+
+    public void testValidate_Maximum() {
+        final Object[] array = new Object[] { "1", "107" };
+        final List list = Arrays.asList(array);
+        final NumberValidator validator = NumberValidator.getIntegerInstance();
+        Integer max = new Integer(100);
+
+        validator.setMaximum(max);
+
+        assertTrue("no minimum set", validator.getMinimum() == null);
+        assertEquals("incorrect maximum value", max, validator.getMaximum());
+
+        try {
+            validator.validate(list);
+            fail("107 too big");
+        } catch (InvalidArgumentException ive) {
+            assertEquals(resources.getMessage(ResourceConstants.NUMBERVALIDATOR_NUMBER_OUTOFRANGE,
+                                              "107"), ive.getMessage());
+        }
+    }
+
+    public void testValidate_Minimum() {
+        final Object[] array = new Object[] { "107", "1" };
+        final List list = Arrays.asList(array);
+        final NumberValidator validator = NumberValidator.getIntegerInstance();
+        Integer min = new Integer(100);
+        validator.setMinimum(min);
+
+        assertTrue("no maximum set", validator.getMaximum() == null);
+        assertEquals("incorrect minimum value", min, validator.getMinimum());
+
+        try {
+            validator.validate(list);
+            fail("1 too small");
+        } catch (InvalidArgumentException ive) {
+            assertEquals(resources.getMessage(ResourceConstants.NUMBERVALIDATOR_NUMBER_OUTOFRANGE,
+                                              "1"), ive.getMessage());
+        }
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/TimeZoneTestSuite.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/TimeZoneTestSuite.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/TimeZoneTestSuite.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/TimeZoneTestSuite.java Fri Mar 21 20:08:23 2008
@@ -1 +1,46 @@
-/** * 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.commons.cli2.validation;import java.util.TimeZone;import junit.extensions.TestDecorator;import junit.framework.Test;import junit.framework.TestResult;public class TimeZoneTestSuite   
  extends TestDecorator {    private final TimeZone timeZone;    private final TimeZone originalTimeZone;    public TimeZoneTestSuite(String timeZone,                             Test test) {        super(test);        this.timeZone = TimeZone.getTimeZone(timeZone);        this.originalTimeZone = TimeZone.getDefault();    }    public void run(TestResult testResult) {        try {            TimeZone.setDefault(timeZone);            super.run(testResult);        } finally {            TimeZone.setDefault(originalTimeZone); // cleanup        }    }}
\ No newline at end of file
+/**
+ * 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.commons.cli2.validation;
+
+import java.util.TimeZone;
+
+import junit.extensions.TestDecorator;
+
+import junit.framework.Test;
+import junit.framework.TestResult;
+
+public class TimeZoneTestSuite
+    extends TestDecorator {
+    private final TimeZone timeZone;
+    private final TimeZone originalTimeZone;
+
+    public TimeZoneTestSuite(String timeZone,
+                             Test test) {
+        super(test);
+        this.timeZone = TimeZone.getTimeZone(timeZone);
+        this.originalTimeZone = TimeZone.getDefault();
+    }
+
+    public void run(TestResult testResult) {
+        try {
+            TimeZone.setDefault(timeZone);
+            super.run(testResult);
+        } finally {
+            TimeZone.setDefault(originalTimeZone); // cleanup
+        }
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/UrlValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/UrlValidatorTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/UrlValidatorTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/UrlValidatorTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,93 @@
-/** * 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.commons.cli2.validation;import java.net.MalformedURLException;import java.net.URL;import java.util.Arrays;import java.util.Iterator;import java.util.List;import junit.framework.TestCa
 se;import org.apache.commons.cli2.resource.ResourceConstants;import org.apache.commons.cli2.resource.ResourceHelper;public class UrlValidatorTest    extends TestCase {    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();    public void testValidate()        throws InvalidArgumentException, MalformedURLException {        final Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };        final List list = Arrays.asList(array);        final Validator validator = new UrlValidator();        validator.validate(list);        final Iterator i = list.iterator();        assertEquals(new URL("http://www.apache.org/"), i.next());        assertEquals(new URL("file:///etc"), i.next());        assertFalse(i.hasNext());    }    public void testMalformedURL()        throws InvalidArgumentException, MalformedURLException {        final Object[] array = new Object[] { "www.apache.org" };        final List list = Arrays.asList(array);      
   final Validator validator = new UrlValidator();        try {            validator.validate(list);        } catch (InvalidArgumentException e) {            assertEquals(resources.getMessage(ResourceConstants.URLVALIDATOR_MALFORMED_URL,                                              new Object[] { "www.apache.org" }), e.getMessage());        }    }    public void testBadProtocol() {        {            final Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };            final List list = Arrays.asList(array);            final UrlValidator validator = new UrlValidator();            validator.setProtocol("http");            assertEquals("incorrect protocol", "http", validator.getProtocol());            try {                validator.validate(list);                fail("Expected InvalidArgumentException");            } catch (InvalidArgumentException e) {                assertEquals("file:///etc", e.getMessage());            }        }        {            f
 inal Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };            final List list = Arrays.asList(array);            final UrlValidator validator = new UrlValidator("http");            try {                validator.validate(list);                fail("Expected InvalidArgumentException");            } catch (InvalidArgumentException e) {                assertEquals("file:///etc", e.getMessage());            }        }    }}
\ No newline at end of file
+/**
+ * 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.commons.cli2.validation;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.cli2.resource.ResourceConstants;
+import org.apache.commons.cli2.resource.ResourceHelper;
+
+public class UrlValidatorTest
+    extends TestCase {
+    private static final ResourceHelper resources = ResourceHelper.getResourceHelper();
+
+    public void testValidate()
+        throws InvalidArgumentException, MalformedURLException {
+        final Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new UrlValidator();
+
+        validator.validate(list);
+
+        final Iterator i = list.iterator();
+        assertEquals(new URL("http://www.apache.org/"), i.next());
+        assertEquals(new URL("file:///etc"), i.next());
+        assertFalse(i.hasNext());
+    }
+
+    public void testMalformedURL()
+        throws InvalidArgumentException, MalformedURLException {
+        final Object[] array = new Object[] { "www.apache.org" };
+        final List list = Arrays.asList(array);
+        final Validator validator = new UrlValidator();
+
+        try {
+            validator.validate(list);
+        } catch (InvalidArgumentException e) {
+            assertEquals(resources.getMessage(ResourceConstants.URLVALIDATOR_MALFORMED_URL,
+                                              new Object[] { "www.apache.org" }), e.getMessage());
+        }
+    }
+
+    public void testBadProtocol() {
+        {
+            final Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };
+            final List list = Arrays.asList(array);
+            final UrlValidator validator = new UrlValidator();
+            validator.setProtocol("http");
+
+            assertEquals("incorrect protocol", "http", validator.getProtocol());
+
+            try {
+                validator.validate(list);
+                fail("Expected InvalidArgumentException");
+            } catch (InvalidArgumentException e) {
+                assertEquals("file:///etc", e.getMessage());
+            }
+        }
+
+        {
+            final Object[] array = new Object[] { "http://www.apache.org/", "file:///etc" };
+            final List list = Arrays.asList(array);
+            final UrlValidator validator = new UrlValidator("http");
+
+            try {
+                validator.validate(list);
+                fail("Expected InvalidArgumentException");
+            } catch (InvalidArgumentException e) {
+                assertEquals("file:///etc", e.getMessage());
+            }
+        }
+    }
+}

Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/protect/ProtectedClass.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/protect/ProtectedClass.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/protect/ProtectedClass.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/validation/protect/ProtectedClass.java Fri Mar 21 20:08:23 2008
@@ -1 +1,23 @@
-/** * 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.commons.cli2.validation.protect;class ProtectedClass {    protected ProtectedClass() {        // used to test something???    }}
\ No newline at end of file
+/**
+ * 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.commons.cli2.validation.protect;
+
+class ProtectedClass {
+    protected ProtectedClass() {
+        // used to test something???
+    }
+}



Mime
View raw message