KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > beanutils > locale > converters > DateLocaleConverterTestCase


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.beanutils.locale.converters;
18
19 import junit.framework.TestSuite;
20 import junit.framework.TestCase;
21
22 import java.text.SimpleDateFormat JavaDoc;
23 import java.text.ParseException JavaDoc;
24
25 import java.util.Locale JavaDoc;
26
27 import org.apache.commons.beanutils.Converter;
28 import org.apache.commons.beanutils.ConversionException;
29
30 /**
31  * Test Case for the DateLocaleConverter class.
32  *
33  * @author Robert Burrell Donkin
34  * @version $Revision: 1.4 $ $Date: 2004/02/28 13:18:37 $
35  */

36
37 public class DateLocaleConverterTestCase extends TestCase {
38
39     // ------------------------------------------------------------------------
40

41     public DateLocaleConverterTestCase(String JavaDoc name) {
42         super(name);
43     }
44     
45     // ------------------------------------------------------------------------
46

47     public static TestSuite suite() {
48         return new TestSuite(DateLocaleConverterTestCase.class);
49     }
50
51
52     // ------------------------------------------------------------------------
53

54     public void testSetLenient() {
55         // make sure that date format works as expected
56
SimpleDateFormat JavaDoc dateFormat = new SimpleDateFormat JavaDoc("MMM dd, yyyy", Locale.UK);
57         
58         // test with no leniency
59
dateFormat.setLenient(false);
60         
61         try {
62             
63             dateFormat.parse("Feb 10, 2001");
64             
65         } catch (ParseException JavaDoc e) {
66             fail("Could not parse date (1) - " + e.getMessage());
67         }
68         
69         try {
70         
71             dateFormat.parse("Feb 31, 2001");
72             fail("Parsed illegal date (1)");
73         
74         } catch (ParseException JavaDoc e) {
75             // that's what we expected
76
}
77         
78         // test with leniency
79
dateFormat.setLenient(true);
80         
81         try {
82             
83             dateFormat.parse("Feb 10, 2001");
84             
85         } catch (ParseException JavaDoc e) {
86             fail("Could not parse date (2) - " + e.getMessage());
87         }
88         
89         try {
90         
91             dateFormat.parse("Feb 31, 2001");
92         
93         } catch (ParseException JavaDoc e) {
94             fail("Could not parse date (3) - " + e.getMessage());
95         }
96         
97         // now repeat tests for converter
98
DateLocaleConverter converter = new DateLocaleConverter(Locale.UK, "MMM dd, yyyy");
99         
100         // test with no leniency
101
converter.setLenient(false);
102         assertEquals("Set lenient failed", converter.isLenient(), false);
103         
104         try {
105             
106             converter.convert("Feb 10, 2001");
107             
108         } catch (ConversionException e) {
109             fail("Could not parse date (4) - " + e.getMessage());
110         }
111         
112         try {
113         
114             converter.convert("Feb 31, 2001");
115             assertEquals("Set lenient failed", converter.isLenient(), false);
116             fail("Parsed illegal date (2)");
117         
118         } catch (ConversionException e) {
119             // that's what we expected
120
}
121         
122         // test with leniency
123
converter.setLenient(true);
124         assertEquals("Set lenient failed", converter.isLenient(), true);
125         
126         try {
127             
128             converter.convert("Feb 10, 2001");
129             
130         } catch (ConversionException e) {
131             fail("Could not parse date (5) - " + e.getMessage());
132         }
133         
134         try {
135         
136             converter.convert("Feb 31, 2001");
137         
138         } catch (ConversionException e) {
139             fail("Could not parse date (6) - " + e.getMessage());
140         }
141     }
142 }
143
144
Popular Tags