Skip to content

Commit 9edbeb4

Browse files
committed
Better test fixtures
Seems failing locally, sometimes, and on GH CI, sometimes
1 parent 7de27aa commit 9edbeb4

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
@WritesDefaultLocale
6767
class DateUtilsTest extends AbstractLangTest {
6868

69+
private static final TimeZone TIME_ZONE_NY = TimeZone.getTimeZone("America/New_York");
6970
private static final TimeZone TIME_ZONE_DEFAULT = TimeZone.getDefault();
7071
private static final TimeZone TIME_ZONE_MET = TimeZone.getTimeZone("MET");
7172
private static Date BASE_DATE;
@@ -139,44 +140,51 @@ public static void classSetup() {
139140
private static Stream<Arguments> testToLocalDateTimeTimeZone() {
140141
// @formatter:off
141142
return Stream.of(
143+
// [1]
142144
Arguments.of(
143145
// -292275055-05-16T16:47:04.192
144146
LocalDateTime.of(-292275055, 5, 16, 16, 47, 04, 192_000_000),
145147
new Date(Long.MIN_VALUE),
146148
TimeZones.GMT
147149
),
150+
// [2]
148151
Arguments.of(
149152
// +292278994-08-17T07:12:55.807
150153
LocalDateTime.of(292278994, 8, 17, 7, 12, 55, 807_000_000),
151154
new Date(Long.MAX_VALUE),
152155
TimeZones.GMT
153156
),
157+
// [3]
154158
Arguments.of(
155159
LocalDateTime.ofInstant(Instant.EPOCH, TimeZones.GMT.toZoneId()),
156-
java.sql.Timestamp.valueOf("1970-01-01 00:00:00"),
160+
Date.from(LocalDateTime.of(1970, 1, 1, 0, 0).atOffset(ZoneOffset.UTC).toInstant()),
157161
TimeZones.GMT
158162
),
163+
// [4]
159164
Arguments.of(
160165
LocalDateTime.ofInstant(Instant.EPOCH.minus(1, ChronoUnit.DAYS), TimeZones.GMT.toZoneId()),
161-
java.sql.Timestamp.valueOf("1969-12-31 00:00:00"),
166+
Date.from(LocalDateTime.of(1969, 12, 31, 0, 0).atOffset(ZoneOffset.UTC).toInstant()),
162167
TimeZones.GMT
163168
),
169+
// [5]
164170
Arguments.of(
165171
LocalDateTime.ofInstant(
166172
java.sql.Timestamp.valueOf("2000-01-01 12:30:45").toInstant(),
167-
TimeZone.getTimeZone("America/New_York").toZoneId()
173+
TIME_ZONE_NY.toZoneId()
168174
),
169175
java.sql.Timestamp.valueOf("2000-01-01 12:30:45"),
170-
TimeZone.getTimeZone("America/New_York")
176+
TIME_ZONE_NY
171177
),
178+
// [6]
172179
Arguments.of(
173180
LocalDateTime.ofInstant(
174181
java.sql.Timestamp.valueOf("2023-03-12 02:30:00").toInstant(),
175-
TimeZone.getTimeZone("America/New_York").toZoneId()
182+
TIME_ZONE_NY.toZoneId()
176183
),
177184
java.sql.Timestamp.valueOf("2023-03-12 02:30:00"),
178-
TimeZone.getTimeZone("America/New_York")
185+
TIME_ZONE_NY
179186
),
187+
// [7]
180188
Arguments.of(
181189
LocalDateTime.ofInstant(
182190
java.sql.Timestamp.valueOf("2023-03-12 02:30:00").toInstant(),
@@ -185,37 +193,31 @@ private static Stream<Arguments> testToLocalDateTimeTimeZone() {
185193
java.sql.Timestamp.valueOf("2023-03-12 02:30:00"),
186194
null
187195
),
196+
// [8]
188197
Arguments.of(
189198
LocalDateTime.of(2022, 12, 31, 19, 0),
190-
Date.from(LocalDateTime.of(2023, 1, 1, 0, 0)
191-
.atOffset(ZoneOffset.UTC)
192-
.toInstant()),
193-
TimeZone.getTimeZone("America/New_York")
199+
Date.from(LocalDateTime.of(2023, 1, 1, 0, 0).atOffset(ZoneOffset.UTC).toInstant()),
200+
TIME_ZONE_NY
194201
),
202+
// [9]
195203
Arguments.of(
196204
LocalDateTime.of(2023, 3, 12, 3, 0),
197-
Date.from(LocalDateTime.of(2023, 3, 12, 7, 0)
198-
.atOffset(ZoneOffset.UTC)
199-
.toInstant()),
200-
TimeZone.getTimeZone("America/New_York")
205+
Date.from(LocalDateTime.of(2023, 3, 12, 7, 0).atOffset(ZoneOffset.UTC).toInstant()),
206+
TIME_ZONE_NY
201207
),
208+
// [10]
202209
Arguments.of(
203210
LocalDateTime.of(2023, 1, 1, 14, 0),
204-
Date.from(LocalDateTime.of(2023, 1, 1, 0, 0)
205-
.atOffset(ZoneOffset.UTC)
206-
.toInstant()),
211+
Date.from(LocalDateTime.of(2023, 1, 1, 0, 0).atOffset(ZoneOffset.UTC).toInstant()),
207212
TimeZone.getTimeZone("Pacific/Kiritimati")
208213
)
209214
);
210215
// @formatter:on
211216
}
212217

213218
private DateFormat dateParser;
214-
215219
private DateFormat dateTimeParser;
216-
217220
private Date dateAmPm1;
218-
219221
private Date dateAmPm2;
220222
private Date dateAmPm3;
221223
private Date dateAmPm4;
@@ -240,6 +242,7 @@ private static Stream<Arguments> testToLocalDateTimeTimeZone() {
240242
private Calendar cal6;
241243
private Calendar cal7;
242244
private Calendar cal8;
245+
243246
@AfterEach
244247
public void afterEachResetTimeZones() {
245248
TimeZone.setDefault(TIME_ZONE_DEFAULT);
@@ -260,7 +263,6 @@ private void assertDate(final Date date, final int year, final int month, final
260263
public void setUp() throws Exception {
261264
dateParser = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
262265
dateTimeParser = new SimpleDateFormat("MMM dd, yyyy H:mm:ss.SSS", Locale.ENGLISH);
263-
264266
dateAmPm1 = dateTimeParser.parse("February 3, 2002 01:10:00.000");
265267
dateAmPm2 = dateTimeParser.parse("February 3, 2002 11:10:00.000");
266268
dateAmPm3 = dateTimeParser.parse("February 3, 2002 13:10:00.000");

0 commit comments

Comments
 (0)