1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.lang3.time;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20
21 import java.text.SimpleDateFormat;
22 import java.util.Calendar;
23 import java.util.TimeZone;
24 import java.util.stream.Stream;
25
26 import org.apache.commons.lang3.AbstractLangTest;
27 import org.junit.jupiter.params.ParameterizedTest;
28 import org.junit.jupiter.params.provider.MethodSource;
29
30 public class FastDatePrinterTimeZonesTest extends AbstractLangTest {
31
32 private static final String PATTERN = "h:mma z";
33
34 public static Stream<TimeZone> data() {
35 return Stream.of(TimeZone.getAvailableIDs()).map(TimeZone::getTimeZone);
36 }
37
38 @ParameterizedTest
39 @MethodSource("data")
40 public void testCalendarTimezoneRespected(final TimeZone timeZone) {
41 final Calendar cal = Calendar.getInstance(timeZone);
42
43 final SimpleDateFormat sdf = new SimpleDateFormat(PATTERN);
44 sdf.setTimeZone(timeZone);
45 final String expectedValue = sdf.format(cal.getTime());
46 final String actualValue = FastDateFormat.getInstance(PATTERN, timeZone).format(cal);
47 assertEquals(expectedValue, actualValue);
48 }
49
50 }