You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by jk...@apache.org on 2003/10/21 19:44:23 UTC

cvs commit: jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/validation DateValidatorTest.java

jkeyes      2003/10/21 10:44:23

  Modified:    cli/src/test/org/apache/commons/cli2/validation
                        DateValidatorTest.java
  Log:
  - added test for minimum bounds
  
  Revision  Changes    Path
  1.2       +123 -42   jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java
  
  Index: DateValidatorTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/validation/DateValidatorTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DateValidatorTest.java	18 Oct 2003 22:00:38 -0000	1.1
  +++ DateValidatorTest.java	21 Oct 2003 17:44:23 -0000	1.2
  @@ -1,42 +1,123 @@
  -/*
  - * Created on 12-Oct-2003
  - *
  - * To change the template for this generated file go to
  - * Window - Preferences - Java - Code Generation - Code and Comments
  - */
  -package org.apache.commons.cli2.validation;
  -
  -import java.text.DateFormat;
  -import java.text.SimpleDateFormat;
  -import java.util.Arrays;
  -import java.util.Date;
  -import java.util.Iterator;
  -import java.util.List;
  -
  -import junit.framework.TestCase;
  -
  -/**
  - * @author Rob Oxspring
  - *
  - * To change the template for this generated type comment go to
  - * Window - Preferences - Java - Code Generation - Code and Comments
  - */
  -public class DateValidatorTest extends TestCase {
  -	public static final DateFormat D_M_YY = new SimpleDateFormat("d/M/yy");
  -	public static final DateFormat YYYY_MM_YY =
  -		new SimpleDateFormat("yyyy-MM-dd");
  -	private List formats = Arrays.asList(new Object[] { D_M_YY, YYYY_MM_YY });
  -
  -	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_YY.format((Date) i.next()));
  -		assertEquals("2002-10-12", YYYY_MM_YY.format((Date) i.next()));
  -		assertFalse(i.hasNext());
  -	}
  -}
  +/*
  + * $Header$
  + * $Revision$
  + * $Date$
  + *
  + * ====================================================================
  + *
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2003 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowlegement may appear in the software itself,
  + *    if and wherever such third-party acknowlegements normally appear.
  + *
  + * 4. The names "The Jakarta Project", "Commons", and "Apache Software
  + *    Foundation" must not be used to endorse or promote products derived
  + *    from this software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache"
  + *    nor may "Apache" appear in their names without prior written
  + *    permission of the Apache GroupImpl.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + */
  +package org.apache.commons.cli2.validation;
  +
  +import java.text.DateFormat;
  +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.TestCase;
  +
  +/**
  + * @author Rob Oxspring
  + * @author John Keyes
  + */
  +public class DateValidatorTest extends TestCase {
  +    public static final DateFormat D_M_YY = new SimpleDateFormat("d/M/yy");
  +    public static final DateFormat YYYY_MM_YY =
  +        new SimpleDateFormat("yyyy-MM-dd");
  +    private List formats = Arrays.asList(new Object[] { D_M_YY, YYYY_MM_YY });
  +
  +    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_YY.format((Date) i.next()));
  +        assertEquals("2002-10-12", YYYY_MM_YY.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);
  +            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) {
  +            }
  +        }
  +    }
  +}
  
  
  

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