package net.time4j.format.expert; import net.time4j.Moment; import net.time4j.PlainDate; import net.time4j.tz.ZonalOffset; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import java.util.Locale; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @RunWith(JUnit4.class) public class CLDRSanityTest { @Test(expected=IllegalArgumentException.class) public void timePattern_hh_mm() { ChronoFormatter.ofTimePattern("hh:mm", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void timestampPattern_hh_mm() { ChronoFormatter.ofTimestampPattern("yyyy-MM-dd hh:mm", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void momentPattern_hh_mm() { ChronoFormatter.ofMomentPattern("yyyy-MM-dd hh:mmXXX", PatternType.CLDR, Locale.ENGLISH, ZonalOffset.UTC); } @Test(expected=IllegalArgumentException.class) public void datePattern_YYYY_MM_DD() { ChronoFormatter.ofDatePattern("YYYY-MM-DD", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void timestampPattern_YYYY_MM_DD() { ChronoFormatter.ofTimestampPattern("YYYY-MM-DD HH:mm", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void momentPattern_YYYY_MM_DD() { ChronoFormatter.ofMomentPattern("YYYY-MM-DD HH:mmXXX", PatternType.CLDR, Locale.ENGLISH, ZonalOffset.UTC); } @Test(expected=IllegalArgumentException.class) public void datePattern_yyyy_MM_DD() { ChronoFormatter.ofDatePattern("yyyy-MM-DD", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void timestampPattern_yyyy_MM_DD() { ChronoFormatter.ofTimestampPattern("yyyy-MM-DD HH:mm", PatternType.CLDR, Locale.ENGLISH); } @Test(expected=IllegalArgumentException.class) public void momentPattern_yyyy_MM_DD() { ChronoFormatter.ofMomentPattern("yyyy-MM-DD HH:mmXXX", PatternType.CLDR, Locale.ENGLISH, ZonalOffset.UTC); } @Test public void testSignStyleOfBigYears() { assertThat( ChronoFormatter.ofDatePattern("yyyy-MM-dd", PatternType.CLDR, Locale.ROOT) .format(PlainDate.of(10000, 1, 1)), is("10000-01-01")); assertThat( ChronoFormatter.ofDatePattern("yyyy-MM-dd", PatternType.CLDR_24, Locale.ROOT) .format(PlainDate.of(10000, 1, 1)), is("10000-01-01")); assertThat( ChronoFormatter.ofDatePattern("yyyy-MM-dd", PatternType.SIMPLE_DATE_FORMAT, Locale.ROOT) .format(PlainDate.of(10000, 1, 1)), is("10000-01-01")); assertThat( ChronoFormatter.ofDatePattern("yyyy-MM-dd", PatternType.THREETEN, Locale.ROOT) .format(PlainDate.of(10000, 1, 1)), is("+10000-01-01")); } @Test public void momentPatternOK() { ChronoFormatter<Moment> cf = ChronoFormatter.ofMomentPattern( "EEEE, d MMMM y 'à' HH.mm:ss 'h' zzzz", PatternType.CLDR, Locale.US, ZonalOffset.UTC); assertThat(cf.format(Moment.UNIX_EPOCH), is("Thursday, 1 January 1970 à 00.00:00 h GMT")); } }