test/java/time/tck/java/time/format/TCKDateTimeFormatters.java

Print this page

        

*** 75,94 **** import java.text.ParsePosition; import java.time.DateTimeException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Year; import java.time.YearMonth; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.chrono.Chronology; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.time.temporal.IsoFields; - import java.time.temporal.Queries; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; import java.time.temporal.TemporalQuery; import java.util.HashMap; import java.util.Iterator; --- 75,98 ---- import java.text.ParsePosition; import java.time.DateTimeException; import java.time.LocalDate; import java.time.LocalDateTime; + import java.time.Month; import java.time.Year; import java.time.YearMonth; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.chrono.Chronology; + import java.time.chrono.IsoChronology; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; + import java.time.format.FormatStyle; + import java.time.format.ResolverStyle; + import java.time.format.TextStyle; import java.time.temporal.IsoFields; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; import java.time.temporal.TemporalQuery; import java.util.HashMap; import java.util.Iterator;
*** 108,170 **** @BeforeMethod public void setUp() { } //----------------------------------------------------------------------- ! @Test(expectedExceptions=NullPointerException.class, groups={"tck"}) ! public void test_print_nullCalendrical() { DateTimeFormatter.ISO_DATE.format((TemporalAccessor) null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_pattern_String() { DateTimeFormatter test = DateTimeFormatter.ofPattern("d MMM yyyy"); ! assertEquals(test.toString(), "Value(DayOfMonth)' 'Text(MonthOfYear,SHORT)' 'Value(Year,4,19,EXCEEDS_PAD)"); assertEquals(test.getLocale(), Locale.getDefault()); } ! @Test(expectedExceptions=IllegalArgumentException.class, groups={"tck"}) public void test_pattern_String_invalid() { DateTimeFormatter.ofPattern("p"); } ! @Test(expectedExceptions=NullPointerException.class, groups={"tck"}) public void test_pattern_String_null() { DateTimeFormatter.ofPattern(null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_pattern_StringLocale() { DateTimeFormatter test = DateTimeFormatter.ofPattern("d MMM yyyy", Locale.UK); ! assertEquals(test.toString(), "Value(DayOfMonth)' 'Text(MonthOfYear,SHORT)' 'Value(Year,4,19,EXCEEDS_PAD)"); assertEquals(test.getLocale(), Locale.UK); } ! @Test(expectedExceptions=IllegalArgumentException.class, groups={"tck"}) public void test_pattern_StringLocale_invalid() { DateTimeFormatter.ofPattern("p", Locale.UK); } ! @Test(expectedExceptions=NullPointerException.class, groups={"tck"}) public void test_pattern_StringLocale_nullPattern() { DateTimeFormatter.ofPattern(null, Locale.UK); } ! @Test(expectedExceptions=NullPointerException.class, groups={"tck"}) public void test_pattern_StringLocale_nullLocale() { DateTimeFormatter.ofPattern("yyyy", null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoLocalDate") Object[][] provider_sample_isoLocalDate() { return new Object[][]{ {2008, null, null, null, null, null, DateTimeException.class}, {null, 6, null, null, null, null, DateTimeException.class}, --- 112,206 ---- @BeforeMethod public void setUp() { } //----------------------------------------------------------------------- ! @Test(expectedExceptions=NullPointerException.class) ! public void test_format_nullTemporalAccessor() { DateTimeFormatter.ISO_DATE.format((TemporalAccessor) null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test public void test_pattern_String() { DateTimeFormatter test = DateTimeFormatter.ofPattern("d MMM yyyy"); ! assertEquals(test.format(LocalDate.of(2012, 6, 30)), "30 " + ! Month.JUNE.getDisplayName(TextStyle.SHORT, Locale.getDefault()) + " 2012"); assertEquals(test.getLocale(), Locale.getDefault()); } ! @Test(expectedExceptions=IllegalArgumentException.class) public void test_pattern_String_invalid() { DateTimeFormatter.ofPattern("p"); } ! @Test(expectedExceptions=NullPointerException.class) public void test_pattern_String_null() { DateTimeFormatter.ofPattern(null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test public void test_pattern_StringLocale() { DateTimeFormatter test = DateTimeFormatter.ofPattern("d MMM yyyy", Locale.UK); ! assertEquals(test.format(LocalDate.of(2012, 6, 30)), "30 Jun 2012"); assertEquals(test.getLocale(), Locale.UK); } ! @Test(expectedExceptions=IllegalArgumentException.class) public void test_pattern_StringLocale_invalid() { DateTimeFormatter.ofPattern("p", Locale.UK); } ! @Test(expectedExceptions=NullPointerException.class) public void test_pattern_StringLocale_nullPattern() { DateTimeFormatter.ofPattern(null, Locale.UK); } ! @Test(expectedExceptions=NullPointerException.class) public void test_pattern_StringLocale_nullLocale() { DateTimeFormatter.ofPattern("yyyy", null); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- + @Test + public void test_ofLocalizedDate_basics() { + assertEquals(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).getZone(), null); + assertEquals(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).getResolverStyle(), ResolverStyle.SMART); + } + + @Test + public void test_ofLocalizedTime_basics() { + assertEquals(DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL).getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL).getZone(), null); + assertEquals(DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL).getResolverStyle(), ResolverStyle.SMART); + } + + @Test + public void test_ofLocalizedDateTime1_basics() { + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).getZone(), null); + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).getResolverStyle(), ResolverStyle.SMART); + } + + @Test + public void test_ofLocalizedDateTime2_basics() { + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM).getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM).getZone(), null); + assertEquals(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM).getResolverStyle(), ResolverStyle.SMART); + } + + //----------------------------------------------------------------------- + //----------------------------------------------------------------------- + //----------------------------------------------------------------------- @DataProvider(name="sample_isoLocalDate") Object[][] provider_sample_isoLocalDate() { return new Object[][]{ {2008, null, null, null, null, null, DateTimeException.class}, {null, 6, null, null, null, null, DateTimeException.class},
*** 181,191 **** {123456, 6, 30, null, null, "+123456-06-30", null}, }; } ! @Test(dataProvider="sample_isoLocalDate", groups={"tck"}) public void test_print_isoLocalDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) { --- 217,227 ---- {123456, 6, 30, null, null, "+123456-06-30", null}, }; } ! @Test(dataProvider="sample_isoLocalDate") public void test_print_isoLocalDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) {
*** 198,254 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalDate", groups={"tck"}) public void test_parse_isoLocalDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day); // offset/zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved(input, new ParsePosition(0)), expected); } } ! @Test(groups={"tck"}) public void test_parse_isoLocalDate_999999999() { Expected expected = createDate(999999999, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("+999999999-08-06", new ParsePosition(0)), expected); assertEquals(LocalDate.parse("+999999999-08-06"), LocalDate.of(999999999, 8, 6)); } ! @Test(groups={"tck"}) public void test_parse_isoLocalDate_1000000000() { Expected expected = createDate(1000000000, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("+1000000000-08-06", new ParsePosition(0)), expected); } ! @Test(expectedExceptions = DateTimeException.class, groups={"tck"}) public void test_parse_isoLocalDate_1000000000_failedCreate() { LocalDate.parse("+1000000000-08-06"); } ! @Test(groups={"tck"}) public void test_parse_isoLocalDate_M999999999() { Expected expected = createDate(-999999999, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("-999999999-08-06", new ParsePosition(0)), expected); assertEquals(LocalDate.parse("-999999999-08-06"), LocalDate.of(-999999999, 8, 6)); } ! @Test(groups={"tck"}) public void test_parse_isoLocalDate_M1000000000() { Expected expected = createDate(-1000000000, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("-1000000000-08-06", new ParsePosition(0)), expected); } ! @Test(expectedExceptions = DateTimeException.class, groups={"tck"}) public void test_parse_isoLocalDate_M1000000000_failedCreate() { LocalDate.parse("-1000000000-08-06"); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetDate") Object[][] provider_sample_isoOffsetDate() { --- 234,297 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalDate") public void test_parse_isoLocalDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day); // offset/zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved(input, new ParsePosition(0)), expected); } } ! @Test public void test_parse_isoLocalDate_999999999() { Expected expected = createDate(999999999, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("+999999999-08-06", new ParsePosition(0)), expected); assertEquals(LocalDate.parse("+999999999-08-06"), LocalDate.of(999999999, 8, 6)); } ! @Test public void test_parse_isoLocalDate_1000000000() { Expected expected = createDate(1000000000, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("+1000000000-08-06", new ParsePosition(0)), expected); } ! @Test(expectedExceptions = DateTimeException.class) public void test_parse_isoLocalDate_1000000000_failedCreate() { LocalDate.parse("+1000000000-08-06"); } ! @Test public void test_parse_isoLocalDate_M999999999() { Expected expected = createDate(-999999999, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("-999999999-08-06", new ParsePosition(0)), expected); assertEquals(LocalDate.parse("-999999999-08-06"), LocalDate.of(-999999999, 8, 6)); } ! @Test public void test_parse_isoLocalDate_M1000000000() { Expected expected = createDate(-1000000000, 8, 6); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE.parseUnresolved("-1000000000-08-06", new ParsePosition(0)), expected); } ! @Test(expectedExceptions = DateTimeException.class) public void test_parse_isoLocalDate_M1000000000_failedCreate() { LocalDate.parse("-1000000000-08-06"); } + @Test + public void test_isoLocalDate_basics() { + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE.getZone(), null); + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetDate") Object[][] provider_sample_isoOffsetDate() {
*** 268,278 **** {123456, 6, 30, "+01:00", null, "+123456-06-30+01:00", null}, }; } ! @Test(dataProvider="sample_isoOffsetDate", groups={"tck"}) public void test_print_isoOffsetDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) { --- 311,321 ---- {123456, 6, 30, "+01:00", null, "+123456-06-30+01:00", null}, }; } ! @Test(dataProvider="sample_isoOffsetDate") public void test_print_isoOffsetDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) {
*** 285,305 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetDate", groups={"tck"}) public void test_parse_isoOffsetDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day); buildCalendrical(expected, offsetId, null); // zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_OFFSET_DATE.parseUnresolved(input, new ParsePosition(0)), expected); } } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoDate") Object[][] provider_sample_isoDate() { --- 328,355 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetDate") public void test_parse_isoOffsetDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day); buildCalendrical(expected, offsetId, null); // zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_OFFSET_DATE.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoOffsetDate_basics() { + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE.getZone(), null); + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoDate") Object[][] provider_sample_isoDate() {
*** 319,329 **** {123456, 6, 30, "+01:00", "Europe/Paris", "+123456-06-30+01:00", null}, }; } ! @Test(dataProvider="sample_isoDate", groups={"tck"}) public void test_print_isoDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) { --- 369,379 ---- {123456, 6, 30, "+01:00", "Europe/Paris", "+123456-06-30+01:00", null}, }; } ! @Test(dataProvider="sample_isoDate") public void test_print_isoDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, null, null, null, null, offsetId, zoneId); if (expectedEx == null) {
*** 336,346 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoDate", groups={"tck"}) public void test_parse_isoDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day); --- 386,396 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoDate") public void test_parse_isoDate( Integer year, Integer month, Integer day, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDate(year, month, day);
*** 349,358 **** --- 399,415 ---- } assertParseMatch(DateTimeFormatter.ISO_DATE.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoDate_basics() { + assertEquals(DateTimeFormatter.ISO_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_DATE.getZone(), null); + assertEquals(DateTimeFormatter.ISO_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoLocalTime") Object[][] provider_sample_isoLocalTime() {
*** 384,394 **** {11, 5, 30, 500000000, null, "Europe/Paris", "11:05:30.5", null}, {11, 5, 30, 1, null, "Europe/Paris", "11:05:30.000000001", null}, }; } ! @Test(dataProvider="sample_isoLocalTime", groups={"tck"}) public void test_print_isoLocalTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) { --- 441,451 ---- {11, 5, 30, 500000000, null, "Europe/Paris", "11:05:30.5", null}, {11, 5, 30, 1, null, "Europe/Paris", "11:05:30.000000001", null}, }; } ! @Test(dataProvider="sample_isoLocalTime") public void test_print_isoLocalTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) {
*** 401,421 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalTime", groups={"tck"}) public void test_parse_isoLocalTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano); // offset/zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_LOCAL_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetTime") Object[][] provider_sample_isoOffsetTime() { --- 458,485 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalTime") public void test_parse_isoLocalTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano); // offset/zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_LOCAL_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoLocalTime_basics() { + assertEquals(DateTimeFormatter.ISO_LOCAL_TIME.getChronology(), null); + assertEquals(DateTimeFormatter.ISO_LOCAL_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_LOCAL_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetTime") Object[][] provider_sample_isoOffsetTime() {
*** 447,457 **** {11, 5, 30, 500000000, null, "Europe/Paris", null, DateTimeException.class}, {11, 5, 30, 1, null, "Europe/Paris", null, DateTimeException.class}, }; } ! @Test(dataProvider="sample_isoOffsetTime", groups={"tck"}) public void test_print_isoOffsetTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) { --- 511,521 ---- {11, 5, 30, 500000000, null, "Europe/Paris", null, DateTimeException.class}, {11, 5, 30, 1, null, "Europe/Paris", null, DateTimeException.class}, }; } ! @Test(dataProvider="sample_isoOffsetTime") public void test_print_isoOffsetTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) {
*** 464,484 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetTime", groups={"tck"}) public void test_parse_isoOffsetTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano); buildCalendrical(expected, offsetId, null); // zoneId is not expected from parse assertParseMatch(DateTimeFormatter.ISO_OFFSET_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoTime") Object[][] provider_sample_isoTime() { --- 528,555 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetTime") public void test_parse_isoOffsetTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano); buildCalendrical(expected, offsetId, null); // zoneId is not expected from parse assertParseMatch(DateTimeFormatter.ISO_OFFSET_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoOffsetTime_basics() { + assertEquals(DateTimeFormatter.ISO_OFFSET_TIME.getChronology(), null); + assertEquals(DateTimeFormatter.ISO_OFFSET_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_OFFSET_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoTime") Object[][] provider_sample_isoTime() {
*** 510,520 **** {11, 5, 30, 500000000, null, "Europe/Paris", "11:05:30.5", null}, {11, 5, 30, 1, null, "Europe/Paris", "11:05:30.000000001", null}, }; } ! @Test(dataProvider="sample_isoTime", groups={"tck"}) public void test_print_isoTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) { --- 581,591 ---- {11, 5, 30, 500000000, null, "Europe/Paris", "11:05:30.5", null}, {11, 5, 30, 1, null, "Europe/Paris", "11:05:30.000000001", null}, }; } ! @Test(dataProvider="sample_isoTime") public void test_print_isoTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(null, null, null, hour, min, sec, nano, offsetId, zoneId); if (expectedEx == null) {
*** 527,537 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoTime", groups={"tck"}) public void test_parse_isoTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano); --- 598,608 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoTime") public void test_parse_isoTime( Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createTime(hour, min, sec, nano);
*** 540,549 **** --- 611,627 ---- } assertParseMatch(DateTimeFormatter.ISO_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoTime_basics() { + assertEquals(DateTimeFormatter.ISO_TIME.getChronology(), null); + assertEquals(DateTimeFormatter.ISO_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoLocalDateTime") Object[][] provider_sample_isoLocalDateTime() {
*** 583,593 **** {123456, 6, 30, 11, 5, null, null, null, null, "+123456-06-30T11:05", null}, }; } ! @Test(dataProvider="sample_isoLocalDateTime", groups={"tck"}) public void test_print_isoLocalDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId); --- 661,671 ---- {123456, 6, 30, 11, 5, null, null, null, null, "+123456-06-30T11:05", null}, }; } ! @Test(dataProvider="sample_isoLocalDateTime") public void test_print_isoLocalDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId);
*** 601,621 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalDateTime", groups={"tck"}) public void test_parse_isoLocalDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDateTime(year, month, day, hour, min, sec, nano); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetDateTime") Object[][] provider_sample_isoOffsetDateTime() { --- 679,706 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoLocalDateTime") public void test_parse_isoLocalDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { Expected expected = createDateTime(year, month, day, hour, min, sec, nano); assertParseMatch(DateTimeFormatter.ISO_LOCAL_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoLocalDateTime_basics() { + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE_TIME.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_LOCAL_DATE_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoOffsetDateTime") Object[][] provider_sample_isoOffsetDateTime() {
*** 655,665 **** {123456, 6, 30, 11, 5, null, null, "+01:00", null, "+123456-06-30T11:05+01:00", null}, }; } ! @Test(dataProvider="sample_isoOffsetDateTime", groups={"tck"}) public void test_print_isoOffsetDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId); --- 740,750 ---- {123456, 6, 30, 11, 5, null, null, "+01:00", null, "+123456-06-30T11:05+01:00", null}, }; } ! @Test(dataProvider="sample_isoOffsetDateTime") public void test_print_isoOffsetDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId);
*** 673,683 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetDateTime", groups={"tck"}) public void test_parse_isoOffsetDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { --- 758,768 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoOffsetDateTime") public void test_parse_isoOffsetDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) {
*** 685,694 **** --- 770,786 ---- buildCalendrical(expected, offsetId, null); // zone not expected to be parsed assertParseMatch(DateTimeFormatter.ISO_OFFSET_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoOffsetDateTime_basics() { + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE_TIME.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_OFFSET_DATE_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoZonedDateTime") Object[][] provider_sample_isoZonedDateTime() {
*** 737,747 **** {123456, 6, 30, 11, 5, null, null, "+01:00", "Europe/Paris", "+123456-06-30T11:05+01:00[Europe/Paris]", null}, }; } ! @Test(dataProvider="sample_isoZonedDateTime", groups={"tck"}) public void test_print_isoZonedDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId); --- 829,839 ---- {123456, 6, 30, 11, 5, null, null, "+01:00", "Europe/Paris", "+123456-06-30T11:05+01:00[Europe/Paris]", null}, }; } ! @Test(dataProvider="sample_isoZonedDateTime") public void test_print_isoZonedDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId);
*** 755,765 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoZonedDateTime", groups={"tck"}) public void test_parse_isoZonedDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { --- 847,857 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoZonedDateTime") public void test_parse_isoZonedDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) {
*** 771,780 **** --- 863,879 ---- } assertParseMatch(DateTimeFormatter.ISO_ZONED_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoZonedDateTime_basics() { + assertEquals(DateTimeFormatter.ISO_ZONED_DATE_TIME.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_ZONED_DATE_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_ZONED_DATE_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="sample_isoDateTime") Object[][] provider_sample_isoDateTime() {
*** 814,824 **** {123456, 6, 30, 11, 5, null, null, null, null, "+123456-06-30T11:05", null}, }; } ! @Test(dataProvider="sample_isoDateTime", groups={"tck"}) public void test_print_isoDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId); --- 913,923 ---- {123456, 6, 30, 11, 5, null, null, null, null, "+123456-06-30T11:05", null}, }; } ! @Test(dataProvider="sample_isoDateTime") public void test_print_isoDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String expected, Class<?> expectedEx) { TemporalAccessor test = buildAccessor(year, month, day, hour, min, sec, nano, offsetId, zoneId);
*** 832,842 **** assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoDateTime", groups={"tck"}) public void test_parse_isoDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) { --- 931,941 ---- assertTrue(expectedEx.isInstance(ex)); } } } ! @Test(dataProvider="sample_isoDateTime") public void test_parse_isoDateTime( Integer year, Integer month, Integer day, Integer hour, Integer min, Integer sec, Integer nano, String offsetId, String zoneId, String input, Class<?> invalid) { if (input != null) {
*** 849,880 **** } assertParseMatch(DateTimeFormatter.ISO_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_print_isoOrdinalDate() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), null, null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155"); } ! @Test(groups={"tck"}) public void test_print_isoOrdinalDate_offset() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155Z"); } ! @Test(groups={"tck"}) public void test_print_isoOrdinalDate_zoned() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Europe/Paris"); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155+02:00"); } ! @Test(groups={"tck"}) public void test_print_isoOrdinalDate_zoned_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "+123456-155Z"); } --- 948,986 ---- } assertParseMatch(DateTimeFormatter.ISO_DATE_TIME.parseUnresolved(input, new ParsePosition(0)), expected); } } + @Test + public void test_isoDateTime_basics() { + assertEquals(DateTimeFormatter.ISO_DATE_TIME.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_DATE_TIME.getZone(), null); + assertEquals(DateTimeFormatter.ISO_DATE_TIME.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test public void test_print_isoOrdinalDate() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), null, null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155"); } ! @Test public void test_print_isoOrdinalDate_offset() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155Z"); } ! @Test public void test_print_isoOrdinalDate_zoned() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Europe/Paris"); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "2008-155+02:00"); } ! @Test public void test_print_isoOrdinalDate_zoned_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.format(test), "+123456-155Z"); }
*** 905,973 **** TemporalAccessor test = Year.of(2008); DateTimeFormatter.ISO_ORDINAL_DATE.format(test); } //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_parse_isoOrdinalDate() { Expected expected = new Expected(YEAR, 2008, DAY_OF_YEAR, 123); assertParseMatch(DateTimeFormatter.ISO_ORDINAL_DATE.parseUnresolved("2008-123", new ParsePosition(0)), expected); } ! @Test(groups={"tck"}) public void test_parse_isoOrdinalDate_largeYear() { Expected expected = new Expected(YEAR, 123456, DAY_OF_YEAR, 123); assertParseMatch(DateTimeFormatter.ISO_ORDINAL_DATE.parseUnresolved("+123456-123", new ParsePosition(0)), expected); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_print_basicIsoDate() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), null, null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603"); } ! @Test(groups={"tck"}) public void test_print_basicIsoDate_offset() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603Z"); } ! @Test(groups={"tck"}) public void test_print_basicIsoDate_zoned() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Europe/Paris"); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603+0200"); } ! @Test(expectedExceptions=DateTimeException.class, groups={"tck"}) public void test_print_basicIsoDate_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); DateTimeFormatter.BASIC_ISO_DATE.format(test); } ! @Test(groups={"tck"}) public void test_print_basicIsoDate_fields() { TemporalAccessor test = buildAccessor(LocalDate.of(2008, 6, 3), null, null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603"); } ! @Test(expectedExceptions=DateTimeException.class, groups={"tck"}) public void test_print_basicIsoDate_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.BASIC_ISO_DATE.format(test); } //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_parse_basicIsoDate() { LocalDate expected = LocalDate.of(2008, 6, 3); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.parse("20080603", LocalDate::from), expected); } ! @Test(expectedExceptions=DateTimeParseException.class, groups={"tck"}) public void test_parse_basicIsoDate_largeYear() { try { LocalDate expected = LocalDate.of(123456, 6, 3); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.parse("+1234560603", LocalDate::from), expected); } catch (DateTimeParseException ex) { --- 1011,1086 ---- TemporalAccessor test = Year.of(2008); DateTimeFormatter.ISO_ORDINAL_DATE.format(test); } //----------------------------------------------------------------------- ! @Test public void test_parse_isoOrdinalDate() { Expected expected = new Expected(YEAR, 2008, DAY_OF_YEAR, 123); assertParseMatch(DateTimeFormatter.ISO_ORDINAL_DATE.parseUnresolved("2008-123", new ParsePosition(0)), expected); } ! @Test public void test_parse_isoOrdinalDate_largeYear() { Expected expected = new Expected(YEAR, 123456, DAY_OF_YEAR, 123); assertParseMatch(DateTimeFormatter.ISO_ORDINAL_DATE.parseUnresolved("+123456-123", new ParsePosition(0)), expected); } + @Test + public void test_isoOrdinalDate_basics() { + assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.getZone(), null); + assertEquals(DateTimeFormatter.ISO_ORDINAL_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- ! @Test public void test_print_basicIsoDate() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), null, null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603"); } ! @Test public void test_print_basicIsoDate_offset() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603Z"); } ! @Test public void test_print_basicIsoDate_zoned() { TemporalAccessor test = buildAccessor(LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Europe/Paris"); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603+0200"); } ! @Test(expectedExceptions=DateTimeException.class) public void test_print_basicIsoDate_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); DateTimeFormatter.BASIC_ISO_DATE.format(test); } ! @Test public void test_print_basicIsoDate_fields() { TemporalAccessor test = buildAccessor(LocalDate.of(2008, 6, 3), null, null); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.format(test), "20080603"); } ! @Test(expectedExceptions=DateTimeException.class) public void test_print_basicIsoDate_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.BASIC_ISO_DATE.format(test); } //----------------------------------------------------------------------- ! @Test public void test_parse_basicIsoDate() { LocalDate expected = LocalDate.of(2008, 6, 3); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.parse("20080603", LocalDate::from), expected); } ! @Test(expectedExceptions=DateTimeParseException.class) public void test_parse_basicIsoDate_largeYear() { try { LocalDate expected = LocalDate.of(123456, 6, 3); assertEquals(DateTimeFormatter.BASIC_ISO_DATE.parse("+1234560603", LocalDate::from), expected); } catch (DateTimeParseException ex) {
*** 975,984 **** --- 1088,1104 ---- assertEquals(ex.getParsedString(), "+1234560603"); throw ex; } } + @Test + public void test_basicIsoDate_basics() { + assertEquals(DateTimeFormatter.BASIC_ISO_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.BASIC_ISO_DATE.getZone(), null); + assertEquals(DateTimeFormatter.BASIC_ISO_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="weekDate") Iterator<Object[]> weekDate() {
*** 1010,1057 **** throw new UnsupportedOperationException(); } }; } ! @Test(dataProvider="weekDate", groups={"tck"}) public void test_print_isoWeekDate(TemporalAccessor test, String expected) { assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), expected); } ! @Test(groups={"tck"}) public void test_print_isoWeekDate_zoned_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), "+123456-W23-2Z"); } ! @Test(groups={"tck"}) public void test_print_isoWeekDate_fields() { TemporalAccessor test = buildAccessor(LocalDate.of(2004, 1, 27), null, null); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), "2004-W05-2"); } ! @Test(expectedExceptions=DateTimeException.class, groups={"tck"}) public void test_print_isoWeekDate_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.ISO_WEEK_DATE.format(test); } //----------------------------------------------------------------------- ! @Test(groups={"tck"}) public void test_parse_weekDate() { LocalDate expected = LocalDate.of(2004, 1, 28); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.parse("2004-W05-3", LocalDate::from), expected); } ! @Test(groups={"tck"}) public void test_parse_weekDate_largeYear() { TemporalAccessor parsed = DateTimeFormatter.ISO_WEEK_DATE.parseUnresolved("+123456-W04-5", new ParsePosition(0)); assertEquals(parsed.getLong(IsoFields.WEEK_BASED_YEAR), 123456L); assertEquals(parsed.getLong(IsoFields.WEEK_OF_WEEK_BASED_YEAR), 4L); assertEquals(parsed.getLong(DAY_OF_WEEK), 5L); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="rfc") Object[][] data_rfc() { --- 1130,1194 ---- throw new UnsupportedOperationException(); } }; } ! @Test(dataProvider="weekDate") public void test_print_isoWeekDate(TemporalAccessor test, String expected) { assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), expected); } ! @Test public void test_print_isoWeekDate_zoned_largeYear() { TemporalAccessor test = buildAccessor(LocalDateTime.of(123456, 6, 3, 11, 5, 30), "Z", null); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), "+123456-W23-2Z"); } ! @Test public void test_print_isoWeekDate_fields() { TemporalAccessor test = buildAccessor(LocalDate.of(2004, 1, 27), null, null); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.format(test), "2004-W05-2"); } ! @Test(expectedExceptions=DateTimeException.class) public void test_print_isoWeekDate_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.ISO_WEEK_DATE.format(test); } //----------------------------------------------------------------------- ! @Test public void test_parse_weekDate() { LocalDate expected = LocalDate.of(2004, 1, 28); assertEquals(DateTimeFormatter.ISO_WEEK_DATE.parse("2004-W05-3", LocalDate::from), expected); } ! @Test public void test_parse_weekDate_largeYear() { TemporalAccessor parsed = DateTimeFormatter.ISO_WEEK_DATE.parseUnresolved("+123456-W04-5", new ParsePosition(0)); assertEquals(parsed.getLong(IsoFields.WEEK_BASED_YEAR), 123456L); assertEquals(parsed.getLong(IsoFields.WEEK_OF_WEEK_BASED_YEAR), 4L); assertEquals(parsed.getLong(DAY_OF_WEEK), 5L); } + @Test + public void test_isoWeekDate_basics() { + assertEquals(DateTimeFormatter.ISO_WEEK_DATE.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.ISO_WEEK_DATE.getZone(), null); + assertEquals(DateTimeFormatter.ISO_WEEK_DATE.getResolverStyle(), ResolverStyle.STRICT); + } + + //----------------------------------------------------------------------- + //----------------------------------------------------------------------- + //----------------------------------------------------------------------- + @Test + public void test_isoInstant_basics() { + assertEquals(DateTimeFormatter.ISO_INSTANT.getChronology(), null); + assertEquals(DateTimeFormatter.ISO_INSTANT.getZone(), null); + assertEquals(DateTimeFormatter.ISO_INSTANT.getResolverStyle(), ResolverStyle.STRICT); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- @DataProvider(name="rfc") Object[][] data_rfc() {
*** 1061,1088 **** {LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Tue, 3 Jun 2008 11:05:30 +0200"}, {LocalDateTime.of(2008, 6, 30, 11, 5, 30), "-03:00", "Mon, 30 Jun 2008 11:05:30 -0300"}, }; } ! @Test(groups={"tck"}, dataProvider="rfc") public void test_print_rfc1123(LocalDateTime base, String offsetId, String expected) { TemporalAccessor test = buildAccessor(base, offsetId, null); assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.format(test), expected); } ! @Test(groups={"tck"}, dataProvider="rfc") public void test_print_rfc1123_french(LocalDateTime base, String offsetId, String expected) { TemporalAccessor test = buildAccessor(base, offsetId, null); assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.withLocale(Locale.FRENCH).format(test), expected); } ! @Test(groups={"tck"}, expectedExceptions=DateTimeException.class) public void test_print_rfc1123_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.RFC_1123_DATE_TIME.format(test); } //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- private Expected createDate(Integer year, Integer month, Integer day) { Expected test = new Expected(); --- 1198,1232 ---- {LocalDateTime.of(2008, 6, 3, 11, 5, 30), "+02:00", "Tue, 3 Jun 2008 11:05:30 +0200"}, {LocalDateTime.of(2008, 6, 30, 11, 5, 30), "-03:00", "Mon, 30 Jun 2008 11:05:30 -0300"}, }; } ! @Test(dataProvider="rfc") public void test_print_rfc1123(LocalDateTime base, String offsetId, String expected) { TemporalAccessor test = buildAccessor(base, offsetId, null); assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.format(test), expected); } ! @Test(dataProvider="rfc") public void test_print_rfc1123_french(LocalDateTime base, String offsetId, String expected) { TemporalAccessor test = buildAccessor(base, offsetId, null); assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.withLocale(Locale.FRENCH).format(test), expected); } ! @Test(expectedExceptions=DateTimeException.class) public void test_print_rfc1123_missingField() { TemporalAccessor test = YearMonth.of(2008, 6); DateTimeFormatter.RFC_1123_DATE_TIME.format(test); } + @Test + public void test_rfc1123_basics() { + assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.getChronology(), IsoChronology.INSTANCE); + assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.getZone(), null); + assertEquals(DateTimeFormatter.RFC_1123_DATE_TIME.getResolverStyle(), ResolverStyle.SMART); + } + //----------------------------------------------------------------------- //----------------------------------------------------------------------- //----------------------------------------------------------------------- private Expected createDate(Integer year, Integer month, Integer day) { Expected test = new Expected();
*** 1202,1218 **** private void assertParseMatch(TemporalAccessor parsed, Expected expected) { for (TemporalField field : expected.fieldValues.keySet()) { assertEquals(parsed.isSupported(field), true); parsed.getLong(field); } ! assertEquals(parsed.query(Queries.chronology()), expected.chrono); ! assertEquals(parsed.query(Queries.zoneId()), expected.zone); } //------------------------------------------------------------------------- - Map<TemporalField, Long> fields = new HashMap<>(); - ZoneId zoneId; static class MockAccessor implements TemporalAccessor { Map<TemporalField, Long> fields = new HashMap<>(); ZoneId zoneId; void setFields(LocalDate dt) { --- 1346,1360 ---- private void assertParseMatch(TemporalAccessor parsed, Expected expected) { for (TemporalField field : expected.fieldValues.keySet()) { assertEquals(parsed.isSupported(field), true); parsed.getLong(field); } ! assertEquals(parsed.query(TemporalQuery.chronology()), expected.chrono); ! assertEquals(parsed.query(TemporalQuery.zoneId()), expected.zone); } //------------------------------------------------------------------------- static class MockAccessor implements TemporalAccessor { Map<TemporalField, Long> fields = new HashMap<>(); ZoneId zoneId; void setFields(LocalDate dt) {
*** 1270,1280 **** } @SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { ! if (query == Queries.zoneId()) { return (R) zoneId; } return TemporalAccessor.super.query(query); } --- 1412,1422 ---- } @SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { ! if (query == TemporalQuery.zoneId()) { return (R) zoneId; } return TemporalAccessor.super.query(query); }