1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.joda.time;
17
18 import junit.framework.TestCase;
19 import junit.framework.TestSuite;
20
21 import org.joda.convert.StringConvert;
22 import org.joda.time.chrono.ISOChronology;
23
24
25
26
27
28
29 public class TestStringConvert extends TestCase {
30
31 private static final DateTimeZone ZONE = DateTimeZone.forID("+02:00");
32
33 public static void main(String[] args) {
34 junit.textui.TestRunner.run(suite());
35 }
36
37 public static TestSuite suite() {
38 return new TestSuite(TestStringConvert.class);
39 }
40
41 public TestStringConvert(String name) {
42 super(name);
43 }
44
45 protected void setUp() throws Exception {
46 }
47
48 protected void tearDown() throws Exception {
49 }
50
51
52 public void testDateMidnight() {
53 DateMidnight test = new DateMidnight(2010, 6, 30, ISOChronology.getInstance(ZONE));
54 String str = StringConvert.INSTANCE.convertToString(test);
55 assertEquals("2010-06-30T00:00:00.000+02:00", str);
56 assertEquals(test, StringConvert.INSTANCE.convertFromString(DateMidnight.class, str));
57 }
58
59 public void testDateTime() {
60 DateTime test = new DateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
61 String str = StringConvert.INSTANCE.convertToString(test);
62 assertEquals("2010-06-30T02:30:50.678+02:00", str);
63 assertEquals(test, StringConvert.INSTANCE.convertFromString(DateTime.class, str));
64 }
65
66 public void testMutableDateTime() {
67 MutableDateTime test = new MutableDateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
68 String str = StringConvert.INSTANCE.convertToString(test);
69 assertEquals("2010-06-30T02:30:50.678+02:00", str);
70 assertEquals(test, StringConvert.INSTANCE.convertFromString(MutableDateTime.class, str));
71 }
72
73 public void testLocalDateTime() {
74 LocalDateTime test = new LocalDateTime(2010, 6, 30, 2, 30);
75 String str = StringConvert.INSTANCE.convertToString(test);
76 assertEquals("2010-06-30T02:30:00.000", str);
77 assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDateTime.class, str));
78 }
79
80 public void testLocalDate() {
81 LocalDate test = new LocalDate(2010, 6, 30);
82 String str = StringConvert.INSTANCE.convertToString(test);
83 assertEquals("2010-06-30", str);
84 assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDate.class, str));
85 }
86
87 public void testLocalTime() {
88 LocalTime test = new LocalTime(2, 30, 50, 678);
89 String str = StringConvert.INSTANCE.convertToString(test);
90 assertEquals("02:30:50.678", str);
91 assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalTime.class, str));
92 }
93
94 public void testYearMonth() {
95 YearMonth test = new YearMonth(2010, 6);
96 String str = StringConvert.INSTANCE.convertToString(test);
97 assertEquals("2010-06", str);
98 assertEquals(test, StringConvert.INSTANCE.convertFromString(YearMonth.class, str));
99 }
100
101 public void testMonthDay() {
102 MonthDay test = new MonthDay(6, 30);
103 String str = StringConvert.INSTANCE.convertToString(test);
104 assertEquals("--06-30", str);
105 assertEquals(test, StringConvert.INSTANCE.convertFromString(MonthDay.class, str));
106 }
107
108 public void testMonthDay_leapDay() {
109 MonthDay test = new MonthDay(2, 29);
110 String str = StringConvert.INSTANCE.convertToString(test);
111 assertEquals("--02-29", str);
112 assertEquals(test, StringConvert.INSTANCE.convertFromString(MonthDay.class, str));
113 }
114
115
116 public void testTimeZone() {
117 DateTimeZone test = DateTimeZone.forID("Europe/Paris");
118 String str = StringConvert.INSTANCE.convertToString(test);
119 assertEquals("Europe/Paris", str);
120 assertEquals(test, StringConvert.INSTANCE.convertFromString(DateTimeZone.class, str));
121 }
122
123
124
125
126
127
128
129
130
131
132 public void testDuration() {
133 Duration test = new Duration(12345678L);
134 String str = StringConvert.INSTANCE.convertToString(test);
135 assertEquals("PT12345.678S", str);
136 assertEquals(test, StringConvert.INSTANCE.convertFromString(Duration.class, str));
137 }
138
139 public void testPeriod() {
140 Period test = new Period(1, 2, 3, 4, 5, 6, 7, 8);
141 String str = StringConvert.INSTANCE.convertToString(test);
142 assertEquals("P1Y2M3W4DT5H6M7.008S", str);
143 assertEquals(test, StringConvert.INSTANCE.convertFromString(Period.class, str));
144 }
145
146 public void testMutablePeriod() {
147 MutablePeriod test = new MutablePeriod(1, 2, 3, 4, 5, 6, 7, 8);
148 String str = StringConvert.INSTANCE.convertToString(test);
149 assertEquals("P1Y2M3W4DT5H6M7.008S", str);
150 assertEquals(test, StringConvert.INSTANCE.convertFromString(MutablePeriod.class, str));
151 }
152
153 public void testYears() {
154 Years test = Years.years(5);
155 String str = StringConvert.INSTANCE.convertToString(test);
156 assertEquals("P5Y", str);
157 assertEquals(test, StringConvert.INSTANCE.convertFromString(Years.class, str));
158 }
159
160 public void testMonths() {
161 Months test = Months.months(5);
162 String str = StringConvert.INSTANCE.convertToString(test);
163 assertEquals("P5M", str);
164 assertEquals(test, StringConvert.INSTANCE.convertFromString(Months.class, str));
165 }
166
167 public void testWeeks() {
168 Weeks test = Weeks.weeks(5);
169 String str = StringConvert.INSTANCE.convertToString(test);
170 assertEquals("P5W", str);
171 assertEquals(test, StringConvert.INSTANCE.convertFromString(Weeks.class, str));
172 }
173
174 public void testDays() {
175 Days test = Days.days(5);
176 String str = StringConvert.INSTANCE.convertToString(test);
177 assertEquals("P5D", str);
178 assertEquals(test, StringConvert.INSTANCE.convertFromString(Days.class, str));
179 }
180
181 public void testHours() {
182 Hours test = Hours.hours(5);
183 String str = StringConvert.INSTANCE.convertToString(test);
184 assertEquals("PT5H", str);
185 assertEquals(test, StringConvert.INSTANCE.convertFromString(Hours.class, str));
186 }
187
188 public void testMinutes() {
189 Minutes test = Minutes.minutes(5);
190 String str = StringConvert.INSTANCE.convertToString(test);
191 assertEquals("PT5M", str);
192 assertEquals(test, StringConvert.INSTANCE.convertFromString(Minutes.class, str));
193 }
194
195 public void testSeconds() {
196 Seconds test = Seconds.seconds(5);
197 String str = StringConvert.INSTANCE.convertToString(test);
198 assertEquals("PT5S", str);
199 assertEquals(test, StringConvert.INSTANCE.convertFromString(Seconds.class, str));
200 }
201
202 }