2323import java .util .Iterator ;
2424import java .util .List ;
2525
26+ import junit .framework .Test ;
2627import 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