Skip to content

Commit 823dfdd

Browse files
author
John Keyes
committed
- added more tests
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/cli/trunk@191225 13f79535-47bb-0310-9956-ffa450edef68
1 parent cc6b404 commit 823dfdd

1 file changed

Lines changed: 70 additions & 0 deletions

File tree

src/test/org/apache/commons/cli2/validation/DateValidatorTest.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import java.util.Iterator;
2424
import java.util.List;
2525

26+
import junit.framework.Test;
2627
import junit.framework.TestCase;
28+
import junit.framework.TestSuite;
2729

2830
/**
2931
* @author Rob Oxspring
@@ -35,6 +37,69 @@ public class DateValidatorTest extends TestCase {
3537
new SimpleDateFormat("yyyy-MM-dd");
3638
private List formats = Arrays.asList(new Object[] { D_M_YY, YYYY_MM_YY });
3739

40+
public void testSingleFormatValidate() throws InvalidArgumentException {
41+
final Object[] array = new Object[] { "23/12/03" };
42+
final List list = Arrays.asList(array);
43+
final Validator validator = new DateValidator(D_M_YY);
44+
45+
validator.validate(list);
46+
47+
final Iterator i = list.iterator();
48+
assertEquals("2003-12-23", YYYY_MM_YY.format((Date)i.next()));
49+
assertFalse(i.hasNext());
50+
}
51+
52+
public void testDefaultDateFormatValidate() throws InvalidArgumentException {
53+
final Object[] array = new Object[] { "23-Dec-2003" };
54+
final List list = Arrays.asList(array);
55+
final Validator validator = DateValidator.getDateInstance();
56+
57+
validator.validate(list);
58+
59+
final Iterator i = list.iterator();
60+
assertEquals("2003-12-23", YYYY_MM_YY.format((Date)i.next()));
61+
assertFalse(i.hasNext());
62+
}
63+
64+
public void testDefaultTimeFormatValidate() throws InvalidArgumentException {
65+
final Object[] array = new Object[] { "18:00:00" };
66+
final List list = Arrays.asList(array);
67+
final Validator validator = DateValidator.getTimeInstance();
68+
69+
validator.validate(list);
70+
71+
final Iterator i = list.iterator();
72+
final DateFormat df = new SimpleDateFormat("HH:mm:ss");
73+
assertEquals("18:00:00", df.format((Date) i.next()));
74+
assertFalse(i.hasNext());
75+
}
76+
77+
public void testDefaultDateTimeFormatValidate() throws InvalidArgumentException {
78+
final Object[] array = new Object[] { "23-Jan-2003 18:00:00" };
79+
final List list = Arrays.asList(array);
80+
final Validator validator = DateValidator.getDateTimeInstance();
81+
82+
validator.validate(list);
83+
84+
final Iterator i = list.iterator();
85+
final DateFormat df = new SimpleDateFormat("yyyy/M/dd HH:mm:ss");
86+
assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));
87+
assertFalse(i.hasNext());
88+
}
89+
90+
public void testDefaultValidator() throws InvalidArgumentException {
91+
final Object[] array = new Object[] { "23/01/03 18:00" };
92+
final List list = Arrays.asList(array);
93+
final Validator validator = new DateValidator();
94+
95+
validator.validate(list);
96+
97+
final Iterator i = list.iterator();
98+
final DateFormat df = new SimpleDateFormat("yyyy/M/dd HH:mm:ss");
99+
assertEquals("2003/1/23 18:00:00", df.format((Date) i.next()));
100+
assertFalse(i.hasNext());
101+
}
102+
38103
public void testValidate() throws InvalidArgumentException {
39104
final Object[] array = new Object[] { "23/12/03", "2002-10-12" };
40105
final List list = Arrays.asList(array);
@@ -108,4 +173,9 @@ public void testMaximumBounds() throws InvalidArgumentException {
108173
}
109174
}
110175

176+
public static Test suite() {
177+
Test result = new TestSuite(DateValidatorTest.class); // default behavior
178+
result = new TimeZoneTestSuite("EST", result); // ensure it runs in EST timezone
179+
return result;
180+
}
111181
}

0 commit comments

Comments
 (0)