test/java/time/test/java/util/TestFormatter.java

Print this page

        

*** 21,31 **** * questions. */ package test.java.util; import java.time.Instant; ! import java.time.temporal.OffsetDateTime; import java.time.ZonedDateTime; import java.time.temporal.ChronoField; import java.util.*; --- 21,31 ---- * questions. */ package test.java.util; import java.time.Instant; ! import java.time.OffsetDateTime; import java.time.ZonedDateTime; import java.time.temporal.ChronoField; import java.util.*;
*** 127,179 **** private void testDate(String fmtStr, Locale locale, ZonedDateTime zdt, Calendar cal) { printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt)); ! test(fmtStr, locale, expected, zdt.getDateTime()); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate()); ! test(fmtStr, locale, expected, zdt.getDate()); } private void testTime(String fmtStr, Locale locale, ZonedDateTime zdt, Calendar cal) { printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt)); ! test(fmtStr, locale, expected, zdt.getDateTime()); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime()); ! test(fmtStr, locale, expected, zdt.getTime()); } private void testZoneId(Locale locale, ZonedDateTime zdt, Calendar cal) { String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]"; printFmtStr(locale, fmtStr); ! String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); // get a new cal with fixed tz Calendar cal0 = Calendar.getInstance(); cal0.setTimeInMillis(zdt.toInstant().toEpochMilli()); cal0.setTimeZone(TimeZone.getTimeZone("GMT" + zdt.getOffset().getId())); ! expected = test(fmtStr, locale, null, cal0).replaceAll("GMT", ""); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt)); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate()); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime()); // datetime + zid fmtStr = "c:[%tc] c:[%1$Tc]"; printFmtStr(locale, fmtStr); ! expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); } private void testInstant(Locale locale, Instant instant, ZonedDateTime zdt, Calendar cal) { String fmtStr = "s:[%ts] s:[%1$Ts] Q:[%1$tQ] Q:[%1$TQ]"; printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, instant); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, OffsetDateTime.of(zdt)); } } --- 127,182 ---- private void testDate(String fmtStr, Locale locale, ZonedDateTime zdt, Calendar cal) { printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime()); ! test(fmtStr, locale, expected, zdt.toLocalDateTime()); ! test(fmtStr, locale, expected, zdt.toLocalDate()); } private void testTime(String fmtStr, Locale locale, ZonedDateTime zdt, Calendar cal) { printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime()); ! test(fmtStr, locale, expected, zdt.toLocalDateTime()); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime()); ! test(fmtStr, locale, expected, zdt.toLocalTime()); ! } ! ! private String toZoneIdStr(String expected) { ! return expected.replaceAll("(?:GMT|UTC)(?<off>[+\\-]?[0-9]{2}:[0-9]{2})", "${off}") ! .replaceAll("GMT|UTC|UT", "Z"); } private void testZoneId(Locale locale, ZonedDateTime zdt, Calendar cal) { String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]"; printFmtStr(locale, fmtStr); ! String expected = toZoneIdStr(test(fmtStr, locale, null, cal)); test(fmtStr, locale, expected, zdt); // get a new cal with fixed tz Calendar cal0 = Calendar.getInstance(); cal0.setTimeInMillis(zdt.toInstant().toEpochMilli()); cal0.setTimeZone(TimeZone.getTimeZone("GMT" + zdt.getOffset().getId())); ! expected = toZoneIdStr(test(fmtStr, locale, null, cal0)); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime()); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime()); // datetime + zid fmtStr = "c:[%tc] c:[%1$Tc]"; printFmtStr(locale, fmtStr); ! expected = toZoneIdStr(test(fmtStr, locale, null, cal)); test(fmtStr, locale, expected, zdt); } private void testInstant(Locale locale, Instant instant, ZonedDateTime zdt, Calendar cal) { String fmtStr = "s:[%ts] s:[%1$Ts] Q:[%1$tQ] Q:[%1$TQ]"; printFmtStr(locale, fmtStr); String expected = test(fmtStr, locale, null, cal); test(fmtStr, locale, expected, instant); test(fmtStr, locale, expected, zdt); ! test(fmtStr, locale, expected, zdt.toOffsetDateTime()); } }