|
@@ -3,6 +3,8 @@ |
3 |
3 |
|
|
4 |
4 |
|
import junit.framework.*; |
5 |
5 |
|
|
|
6 |
+ |
import org.litesoft.core.typeutils.*; |
|
7 |
+ |
|
6 |
8 |
|
public class CalendarYMDTest extends TestCase |
7 |
9 |
|
{ |
8 |
10 |
|
public static TestSuite suite() |
|
@@ -59,18 +61,34 @@ |
59 |
61 |
|
|
60 |
62 |
|
public void test_rtYMD() |
61 |
63 |
|
{ |
62 |
|
- |
chkRT( "2000/2/1", "2000/02/01" ); |
63 |
|
- |
chkRT( "2000/12/1", "2000/12/01" ); |
64 |
|
- |
chkRT( "2000/1/1", "2000/01/01" ); |
65 |
|
- |
chkRT( "2000/1/31", "2000/01/31" ); |
66 |
|
- |
chkRT( "2000/12/31", "2000/12/31" ); |
67 |
|
- |
chkRT( "2000/2/29", "2000/02/29" ); // exception-exception Leap Day |
|
64 |
+ |
chkRTYMD( "2000/2/1", "2000/02/01" ); |
|
65 |
+ |
chkRTYMD( "2000/0012/1", "2000/12/01" ); |
|
66 |
+ |
chkRTYMD( "2000/1/0001", "2000/01/01" ); |
|
67 |
+ |
chkRTYMD( "2000/001/31", "2000/01/31" ); |
|
68 |
+ |
chkRTYMD( "2000/12/31", "2000/12/31" ); |
|
69 |
+ |
chkRTYMD( "2000/2/29", "2000/02/29" ); // exception-exception Leap Day |
|
70 |
+ |
} |
|
71 |
+ |
|
|
72 |
+ |
private void chkRTYMD( String pInputForFrom, String pToOutput ) |
|
73 |
+ |
{ |
|
74 |
+ |
CalendarYMD sd = CalendarYMD.fromYMD( pInputForFrom ); |
|
75 |
+ |
assertEquals( pToOutput, sd.toYMD() ); |
|
76 |
+ |
} |
|
77 |
+ |
|
|
78 |
+ |
public void test_rtSQL() |
|
79 |
+ |
{ |
|
80 |
+ |
chkRTSQL( "2000-2-1", "2000-02-01" ); |
|
81 |
+ |
chkRTSQL( "2000-0012-1", "2000-12-01" ); |
|
82 |
+ |
chkRTSQL( "2000-1-0001", "2000-01-01" ); |
|
83 |
+ |
chkRTSQL( "2000-001-31", "2000-01-31" ); |
|
84 |
+ |
chkRTSQL( "2000-12-31", "2000-12-31" ); |
|
85 |
+ |
chkRTSQL( "2000-2-29", "2000-02-29" ); // exception-exception Leap Day |
68 |
86 |
|
} |
69 |
87 |
|
|
70 |
|
- |
private void chkRT( String pToYMD, String pFromYMD ) |
|
88 |
+ |
private void chkRTSQL( String pInputForFrom, String pToOutput ) |
71 |
89 |
|
{ |
72 |
|
- |
CalendarYMD sd = CalendarYMD.fromYMD( pToYMD ); |
73 |
|
- |
assertEquals( pFromYMD, sd.toYMD() ); |
|
90 |
+ |
CalendarYMD sd = CalendarYMD.fromSQLvalue( pInputForFrom ); |
|
91 |
+ |
assertEquals( pToOutput, sd.toSQLvalue() ); |
74 |
92 |
|
} |
75 |
93 |
|
|
76 |
94 |
|
public void test_fromYMDAndToString() |
|
@@ -87,7 +105,7 @@ |
87 |
105 |
|
|
88 |
106 |
|
private void chk( String pDateFormat, String pFieldOrder, String pDateToParse, String pToString, int pYear, int pMonth, int pDay ) |
89 |
107 |
|
{ |
90 |
|
- |
chk( new DateFormat( pDateFormat ), CalendarYMD.fromYMD( pDateToParse ), pToString, pFieldOrder, pYear, pMonth, pDay ); |
|
108 |
+ |
chk( new DateFormat( pDateFormat ), pFieldOrder, CalendarYMD.fromYMD( pDateToParse ), pToString, pYear, pMonth, pDay ); |
91 |
109 |
|
} |
92 |
110 |
|
|
93 |
111 |
|
public void test_ContructorsAndToString() |
|
@@ -107,18 +125,25 @@ |
107 |
125 |
|
chk( "(M/d/y) ddMMM", "Mdy", 1957, 1, 4, "(1/4/1957) 04Jan" ); |
108 |
126 |
|
} |
109 |
127 |
|
|
110 |
|
- |
private void chk( String pDateFormat, String pFieldOrder, int pYear, int pMonth, int pDay, String pToString ) |
|
128 |
+ |
private void chk( String pDateFormat, String pFieldOrder, int pYear, int pMonth, int pDay, String pDateFormatToString ) |
111 |
129 |
|
{ |
112 |
|
- |
chk( new DateFormat( pDateFormat ), new CalendarYMD( pYear, pMonth, pDay ), pToString, pFieldOrder, pYear, pMonth, pDay ); |
|
130 |
+ |
chk( new DateFormat( pDateFormat ), pFieldOrder, new CalendarYMD( pYear, pMonth, pDay ), pDateFormatToString, pYear, pMonth, pDay ); |
113 |
131 |
|
} |
114 |
132 |
|
|
115 |
|
- |
private void chk( DateFormat pFormat, CalendarYMD pDate, String pToString, String pFieldOrder, int pYear, int pMonth, int pDay ) |
|
133 |
+ |
private void chk( DateFormat pFormat, String pFieldOrder, CalendarYMD pDate, String pDateFormatToString, int pYear, int pMonth, int pDay ) |
116 |
134 |
|
{ |
|
135 |
+ |
String zExpectedStringFormY = Integers.zeroPadIt( 4, pYear ); |
|
136 |
+ |
String zExpectedStringFormM = Integers.zeroPadIt( 2, pMonth ); |
|
137 |
+ |
String zExpectedStringFormD = Integers.zeroPadIt( 2, pDay ); |
117 |
138 |
|
assertEquals( pFieldOrder, pFormat.getFieldOrder() ); |
118 |
139 |
|
assertEquals( "Year", pYear, pDate.getYear() ); |
119 |
140 |
|
assertEquals( "Month", pMonth, pDate.getMonth() ); |
120 |
141 |
|
assertEquals( "Day", pDay, pDate.getDay() ); |
121 |
|
- |
assertEquals( pToString, pFormat.format( pDate ) ); |
|
142 |
+ |
assertEquals( pDateFormatToString, pFormat.format( pDate ) ); |
|
143 |
+ |
assertEquals( "toYMB", zExpectedStringFormY + "/" + zExpectedStringFormM + "/" + zExpectedStringFormD, pDate.toYMD() ); |
|
144 |
+ |
assertEquals( "fromYMD", pDate, CalendarYMD.fromYMD( pDate.toYMD() ) ); |
|
145 |
+ |
assertEquals( "toSQLvalue", zExpectedStringFormY + "-" + zExpectedStringFormM + "-" + zExpectedStringFormD, pDate.toSQLvalue() ); |
|
146 |
+ |
assertEquals( "fromSQLvalue", pDate, CalendarYMD.fromSQLvalue( pDate.toSQLvalue() ) ); |
122 |
147 |
|
|
123 |
148 |
|
CalendarYMD sd2 = pDate.addDays( 1 ).minusDays( 1 ); |
124 |
149 |
|
assertEquals( "Year", pYear, sd2.getYear() ); |