448 assertEquals(test.normalized(), ZoneOffset.of(offsetId)); 449 assertEquals(test.getDisplayName(TextStyle.FULL, Locale.UK), displayName("UT" + id)); 450 assertEquals(test.getRules().isFixedOffset(), true); 451 assertEquals(test.getRules().getOffset(Instant.EPOCH), ZoneOffset.of(offsetId)); 452 } 453 454 private String displayName(String id) { 455 if (id.equals("GMT")) { 456 return "Greenwich Mean Time"; 457 } 458 if (id.equals("GMT0")) { 459 return "Greenwich Mean Time"; 460 } 461 if (id.equals("UTC")) { 462 return "Coordinated Universal Time"; 463 } 464 return id; 465 } 466 467 //----------------------------------------------------------------------- 468 @DataProvider(name="offsetBasedValidOther") 469 Object[][] data_offsetBasedValidOther() { 470 return new Object[][] { 471 {"GMT", "Z"}, 472 {"GMT0", "Z"}, 473 {"UCT", "Z"}, 474 {"Greenwich", "Z"}, 475 {"Universal", "Z"}, 476 {"Zulu", "Z"}, 477 {"Etc/GMT", "Z"}, 478 {"Etc/GMT+0", "Z"}, 479 {"Etc/GMT+1", "-01:00"}, 480 {"Etc/GMT-1", "+01:00"}, 481 {"Etc/GMT+9", "-09:00"}, 482 {"Etc/GMT-9", "+09:00"}, 483 {"Etc/GMT0", "Z"}, 484 {"Etc/UCT", "Z"}, 485 {"Etc/UTC", "Z"}, 486 {"Etc/Greenwich", "Z"}, 487 {"Etc/Universal", "Z"}, | 448 assertEquals(test.normalized(), ZoneOffset.of(offsetId)); 449 assertEquals(test.getDisplayName(TextStyle.FULL, Locale.UK), displayName("UT" + id)); 450 assertEquals(test.getRules().isFixedOffset(), true); 451 assertEquals(test.getRules().getOffset(Instant.EPOCH), ZoneOffset.of(offsetId)); 452 } 453 454 private String displayName(String id) { 455 if (id.equals("GMT")) { 456 return "Greenwich Mean Time"; 457 } 458 if (id.equals("GMT0")) { 459 return "Greenwich Mean Time"; 460 } 461 if (id.equals("UTC")) { 462 return "Coordinated Universal Time"; 463 } 464 return id; 465 } 466 467 //----------------------------------------------------------------------- 468 @DataProvider(name="prefixValid") 469 Object[][] data_prefixValid() { 470 return new Object[][] { 471 {"GMT", "+01:00"}, 472 {"UTC", "+01:00"}, 473 {"UT", "+01:00"}, 474 {"", "+01:00"}, 475 }; 476 } 477 478 @Test(dataProvider="prefixValid") 479 public void test_prefixOfOffset(String prefix, String offset) { 480 ZoneOffset zoff = ZoneOffset.of(offset); 481 ZoneId zoneId = ZoneId.ofOffset(prefix, zoff); 482 assertEquals(zoneId.getId(), prefix + zoff.getId(), "in correct id for : " + prefix + ", zoff: " + zoff); 483 484 } 485 486 //----------------------------------------------------------------------- 487 @DataProvider(name="prefixInvalid") 488 Object[][] data_prefixInvalid() { 489 return new Object[][] { 490 {"GM", "+01:00"}, 491 {"U", "+01:00"}, 492 {"UTC0", "+01:00"}, 493 {"A", "+01:00"}, 494 }; 495 } 496 497 @Test(dataProvider="prefixInvalid", expectedExceptions=java.lang.IllegalArgumentException.class) 498 public void test_invalidPrefixOfOffset(String prefix, String offset) { 499 ZoneOffset zoff = ZoneOffset.of(offset); 500 ZoneId zoneId = ZoneId.ofOffset(prefix, zoff); 501 fail("should have thrown an exception for prefix: " + prefix); 502 } 503 504 @Test(expectedExceptions=java.lang.NullPointerException.class) 505 public void test_nullPrefixOfOffset() { 506 ZoneId.ofOffset(null, ZoneOffset.ofTotalSeconds(1)); 507 } 508 509 @Test(expectedExceptions=java.lang.NullPointerException.class) 510 public void test_nullOffsetOfOffset() { 511 ZoneId.ofOffset("GMT", null); 512 } 513 514 //----------------------------------------------------------------------- 515 @DataProvider(name="offsetBasedValidOther") 516 Object[][] data_offsetBasedValidOther() { 517 return new Object[][] { 518 {"GMT", "Z"}, 519 {"GMT0", "Z"}, 520 {"UCT", "Z"}, 521 {"Greenwich", "Z"}, 522 {"Universal", "Z"}, 523 {"Zulu", "Z"}, 524 {"Etc/GMT", "Z"}, 525 {"Etc/GMT+0", "Z"}, 526 {"Etc/GMT+1", "-01:00"}, 527 {"Etc/GMT-1", "+01:00"}, 528 {"Etc/GMT+9", "-09:00"}, 529 {"Etc/GMT-9", "+09:00"}, 530 {"Etc/GMT0", "Z"}, 531 {"Etc/UCT", "Z"}, 532 {"Etc/UTC", "Z"}, 533 {"Etc/Greenwich", "Z"}, 534 {"Etc/Universal", "Z"}, |