Esempio n. 1
1
  // -----------------------------------------------------------------------
  public void testDurationFields() {
    final GJChronology gj = GJChronology.getInstance();
    assertEquals("eras", gj.eras().getName());
    assertEquals("centuries", gj.centuries().getName());
    assertEquals("years", gj.years().getName());
    assertEquals("weekyears", gj.weekyears().getName());
    assertEquals("months", gj.months().getName());
    assertEquals("weeks", gj.weeks().getName());
    assertEquals("halfdays", gj.halfdays().getName());
    assertEquals("days", gj.days().getName());
    assertEquals("hours", gj.hours().getName());
    assertEquals("minutes", gj.minutes().getName());
    assertEquals("seconds", gj.seconds().getName());
    assertEquals("millis", gj.millis().getName());

    assertEquals(false, gj.eras().isSupported());
    assertEquals(true, gj.centuries().isSupported());
    assertEquals(true, gj.years().isSupported());
    assertEquals(true, gj.weekyears().isSupported());
    assertEquals(true, gj.months().isSupported());
    assertEquals(true, gj.weeks().isSupported());
    assertEquals(true, gj.days().isSupported());
    assertEquals(true, gj.halfdays().isSupported());
    assertEquals(true, gj.hours().isSupported());
    assertEquals(true, gj.minutes().isSupported());
    assertEquals(true, gj.seconds().isSupported());
    assertEquals(true, gj.millis().isSupported());

    assertEquals(false, gj.centuries().isPrecise());
    assertEquals(false, gj.years().isPrecise());
    assertEquals(false, gj.weekyears().isPrecise());
    assertEquals(false, gj.months().isPrecise());
    assertEquals(false, gj.weeks().isPrecise());
    assertEquals(false, gj.days().isPrecise());
    assertEquals(false, gj.halfdays().isPrecise());
    assertEquals(true, gj.hours().isPrecise());
    assertEquals(true, gj.minutes().isPrecise());
    assertEquals(true, gj.seconds().isPrecise());
    assertEquals(true, gj.millis().isPrecise());

    final GJChronology gjUTC = GJChronology.getInstanceUTC();
    assertEquals(false, gjUTC.centuries().isPrecise());
    assertEquals(false, gjUTC.years().isPrecise());
    assertEquals(false, gjUTC.weekyears().isPrecise());
    assertEquals(false, gjUTC.months().isPrecise());
    assertEquals(true, gjUTC.weeks().isPrecise());
    assertEquals(true, gjUTC.days().isPrecise());
    assertEquals(true, gjUTC.halfdays().isPrecise());
    assertEquals(true, gjUTC.hours().isPrecise());
    assertEquals(true, gjUTC.minutes().isPrecise());
    assertEquals(true, gjUTC.seconds().isPrecise());
    assertEquals(true, gjUTC.millis().isPrecise());

    final DateTimeZone gmt = DateTimeZone.forID("Etc/GMT");
    final GJChronology gjGMT = GJChronology.getInstance(gmt);
    assertEquals(false, gjGMT.centuries().isPrecise());
    assertEquals(false, gjGMT.years().isPrecise());
    assertEquals(false, gjGMT.weekyears().isPrecise());
    assertEquals(false, gjGMT.months().isPrecise());
    assertEquals(true, gjGMT.weeks().isPrecise());
    assertEquals(true, gjGMT.days().isPrecise());
    assertEquals(true, gjGMT.halfdays().isPrecise());
    assertEquals(true, gjGMT.hours().isPrecise());
    assertEquals(true, gjGMT.minutes().isPrecise());
    assertEquals(true, gjGMT.seconds().isPrecise());
    assertEquals(true, gjGMT.millis().isPrecise());
  }
Esempio n. 2
0
 // -----------------------------------------------------------------------
 public void testEquality() {
   assertSame(GJChronology.getInstance(TOKYO), GJChronology.getInstance(TOKYO));
   assertSame(GJChronology.getInstance(LONDON), GJChronology.getInstance(LONDON));
   assertSame(GJChronology.getInstance(PARIS), GJChronology.getInstance(PARIS));
   assertSame(GJChronology.getInstanceUTC(), GJChronology.getInstanceUTC());
   assertSame(GJChronology.getInstance(), GJChronology.getInstance(LONDON));
 }
Esempio n. 3
0
 public void testTimeOfDayAdd() {
   TimeOfDay start = new TimeOfDay(12, 30, GJChronology.getInstance());
   TimeOfDay end = new TimeOfDay(10, 30, GJChronology.getInstance());
   assertEquals(end, start.plusHours(22));
   assertEquals(start, end.minusHours(22));
   assertEquals(end, start.plusMinutes(22 * 60));
   assertEquals(start, end.minusMinutes(22 * 60));
 }
Esempio n. 4
0
 private void testParse(
     String str, int year, int month, int day, int hour, int minute, int second, int millis) {
   assertEquals(
       new DateTime(str, GJChronology.getInstance(DateTimeZone.UTC)),
       new DateTime(
           year,
           month,
           day,
           hour,
           minute,
           second,
           millis,
           GJChronology.getInstance(DateTimeZone.UTC)));
 }
Esempio n. 5
0
  public void testIllegalDates() {
    try {
      new DateTime(1582, 10, 5, 0, 0, 0, 0, GJChronology.getInstance(DateTimeZone.UTC));
      fail("Constructed illegal date");
    } catch (IllegalArgumentException e) {
      /* good */
    }

    try {
      new DateTime(1582, 10, 14, 0, 0, 0, 0, GJChronology.getInstance(DateTimeZone.UTC));
      fail("Constructed illegal date");
    } catch (IllegalArgumentException e) {
      /* good */
    }
  }
Esempio n. 6
0
 public void testLeapYearRulesConstruction() {
   // 1500 not leap in Gregorian, but is leap in Julian
   DateMidnight dt = new DateMidnight(1500, 2, 29, GJChronology.getInstanceUTC());
   assertEquals(dt.getYear(), 1500);
   assertEquals(dt.getMonthOfYear(), 2);
   assertEquals(dt.getDayOfMonth(), 29);
 }
Esempio n. 7
0
 public void testLeapYearRulesConstructionInvalid() {
   // 1500 not leap in Gregorian, but is leap in Julian
   try {
     new DateMidnight(1500, 2, 30, GJChronology.getInstanceUTC());
     fail();
   } catch (IllegalFieldValueException ex) {
     // good
   }
 }
Esempio n. 8
0
  public void testFactory_Zone_RI() {
    GJChronology chrono = GJChronology.getInstance(TOKYO, new Instant(0L));
    assertEquals(TOKYO, chrono.getZone());
    assertEquals(new Instant(0L), chrono.getGregorianCutover());
    assertSame(GJChronology.class, GJChronology.getInstance(TOKYO, new Instant(0L)).getClass());

    DateTime cutover = new DateTime(1582, 10, 15, 0, 0, 0, 0, DateTimeZone.UTC);
    chrono = GJChronology.getInstance(TOKYO, null);
    assertEquals(TOKYO, chrono.getZone());
    assertEquals(cutover.toInstant(), chrono.getGregorianCutover());
  }
Esempio n. 9
0
  private void testAdd(String start, DurationFieldType type, int amt, String end) {
    DateTime dtStart = new DateTime(start, GJChronology.getInstance(DateTimeZone.UTC));
    DateTime dtEnd = new DateTime(end, GJChronology.getInstance(DateTimeZone.UTC));
    assertEquals(dtEnd, dtStart.withFieldAdded(type, amt));
    assertEquals(dtStart, dtEnd.withFieldAdded(type, -amt));

    DurationField field = type.getField(GJChronology.getInstance(DateTimeZone.UTC));
    int diff = field.getDifference(dtEnd.getMillis(), dtStart.getMillis());
    assertEquals(amt, diff);

    if (type == DurationFieldType.years()
        || type == DurationFieldType.months()
        || type == DurationFieldType.days()) {
      YearMonthDay ymdStart = new YearMonthDay(start, GJChronology.getInstance(DateTimeZone.UTC));
      YearMonthDay ymdEnd = new YearMonthDay(end, GJChronology.getInstance(DateTimeZone.UTC));
      assertEquals(ymdEnd, ymdStart.withFieldAdded(type, amt));
      assertEquals(ymdStart, ymdEnd.withFieldAdded(type, -amt));
    }
  }
Esempio n. 10
0
 public void testMaximumValue() {
   DateMidnight dt = new DateMidnight(1570, 1, 1, GJChronology.getInstance());
   while (dt.getYear() < 1590) {
     dt = dt.plusDays(1);
     YearMonthDay ymd = dt.toYearMonthDay();
     assertEquals(dt.year().getMaximumValue(), ymd.year().getMaximumValue());
     assertEquals(dt.monthOfYear().getMaximumValue(), ymd.monthOfYear().getMaximumValue());
     assertEquals(dt.dayOfMonth().getMaximumValue(), ymd.dayOfMonth().getMaximumValue());
   }
 }
Esempio n. 11
0
 public void testSubtractDays() {
   // This is a test for a bug in version 1.0. The dayOfMonth range
   // duration field did not match the monthOfYear duration field. This
   // caused an exception to be thrown when subtracting days.
   DateTime dt =
       new DateTime(1112306400000L, GJChronology.getInstance(DateTimeZone.forID("Europe/Berlin")));
   YearMonthDay ymd = dt.toYearMonthDay();
   while (ymd.toDateTimeAtMidnight().getDayOfWeek() != DateTimeConstants.MONDAY) {
     ymd = ymd.minus(Period.days(1));
   }
 }
Esempio n. 12
0
 /**
  * Standard instance of a Buddhist Chronology, that matches Sun's BuddhistCalendar class. This
  * means that it follows the GregorianJulian calendar rules with a cutover date.
  *
  * @param zone the time zone to use, null is default
  */
 public static synchronized BuddhistChronology getInstance(DateTimeZone zone) {
   if (zone == null) {
     zone = DateTimeZone.getDefault();
   }
   BuddhistChronology chrono = (BuddhistChronology) cCache.get(zone);
   if (chrono == null) {
     // First create without a lower limit.
     chrono = new BuddhistChronology(GJChronology.getInstance(zone, null), null);
     // Impose lower limit and make another BuddhistChronology.
     DateTime lowerLimit = new DateTime(1, 1, 1, 0, 0, 0, 0, chrono);
     chrono = new BuddhistChronology(LimitChronology.getInstance(chrono, lowerLimit, null), "");
     cCache.put(zone, chrono);
   }
   return chrono;
 }
Esempio n. 13
0
  public void testFactory_Zone_long_int() {
    GJChronology chrono = GJChronology.getInstance(TOKYO, 0L, 2);
    assertEquals(TOKYO, chrono.getZone());
    assertEquals(new Instant(0L), chrono.getGregorianCutover());
    assertEquals(2, chrono.getMinimumDaysInFirstWeek());
    assertSame(GJChronology.class, GJChronology.getInstance(TOKYO, 0L, 2).getClass());

    try {
      GJChronology.getInstance(TOKYO, 0L, 0);
      fail();
    } catch (IllegalArgumentException ex) {
    }
    try {
      GJChronology.getInstance(TOKYO, 0L, 8);
      fail();
    } catch (IllegalArgumentException ex) {
    }
  }
Esempio n. 14
0
 public void testToString() {
   assertEquals("GJChronology[Europe/London]", GJChronology.getInstance(LONDON).toString());
   assertEquals("GJChronology[Asia/Tokyo]", GJChronology.getInstance(TOKYO).toString());
   assertEquals("GJChronology[Europe/London]", GJChronology.getInstance().toString());
   assertEquals("GJChronology[UTC]", GJChronology.getInstanceUTC().toString());
   assertEquals(
       "GJChronology[UTC,cutover=1970-01-01]",
       GJChronology.getInstance(DateTimeZone.UTC, 0L, 4).toString());
   assertEquals(
       "GJChronology[UTC,cutover=1970-01-01T00:00:00.001Z,mdfw=2]",
       GJChronology.getInstance(DateTimeZone.UTC, 1L, 2).toString());
 }
Esempio n. 15
0
  public void testDateFields() {
    final GJChronology gj = GJChronology.getInstance();
    assertEquals("era", gj.era().getName());
    assertEquals("centuryOfEra", gj.centuryOfEra().getName());
    assertEquals("yearOfCentury", gj.yearOfCentury().getName());
    assertEquals("yearOfEra", gj.yearOfEra().getName());
    assertEquals("year", gj.year().getName());
    assertEquals("monthOfYear", gj.monthOfYear().getName());
    assertEquals("weekyearOfCentury", gj.weekyearOfCentury().getName());
    assertEquals("weekyear", gj.weekyear().getName());
    assertEquals("weekOfWeekyear", gj.weekOfWeekyear().getName());
    assertEquals("dayOfYear", gj.dayOfYear().getName());
    assertEquals("dayOfMonth", gj.dayOfMonth().getName());
    assertEquals("dayOfWeek", gj.dayOfWeek().getName());

    assertEquals(true, gj.era().isSupported());
    assertEquals(true, gj.centuryOfEra().isSupported());
    assertEquals(true, gj.yearOfCentury().isSupported());
    assertEquals(true, gj.yearOfEra().isSupported());
    assertEquals(true, gj.year().isSupported());
    assertEquals(true, gj.monthOfYear().isSupported());
    assertEquals(true, gj.weekyearOfCentury().isSupported());
    assertEquals(true, gj.weekyear().isSupported());
    assertEquals(true, gj.weekOfWeekyear().isSupported());
    assertEquals(true, gj.dayOfYear().isSupported());
    assertEquals(true, gj.dayOfMonth().isSupported());
    assertEquals(true, gj.dayOfWeek().isSupported());

    assertEquals(gj.eras(), gj.era().getDurationField());
    assertEquals(gj.centuries(), gj.centuryOfEra().getDurationField());
    assertEquals(gj.years(), gj.yearOfCentury().getDurationField());
    assertEquals(gj.years(), gj.yearOfEra().getDurationField());
    assertEquals(gj.years(), gj.year().getDurationField());
    assertEquals(gj.months(), gj.monthOfYear().getDurationField());
    assertEquals(gj.weekyears(), gj.weekyearOfCentury().getDurationField());
    assertEquals(gj.weekyears(), gj.weekyear().getDurationField());
    assertEquals(gj.weeks(), gj.weekOfWeekyear().getDurationField());
    assertEquals(gj.days(), gj.dayOfYear().getDurationField());
    assertEquals(gj.days(), gj.dayOfMonth().getDurationField());
    assertEquals(gj.days(), gj.dayOfWeek().getDurationField());

    assertEquals(null, gj.era().getRangeDurationField());
    assertEquals(gj.eras(), gj.centuryOfEra().getRangeDurationField());
    assertEquals(gj.centuries(), gj.yearOfCentury().getRangeDurationField());
    assertEquals(gj.eras(), gj.yearOfEra().getRangeDurationField());
    assertEquals(null, gj.year().getRangeDurationField());
    assertEquals(gj.years(), gj.monthOfYear().getRangeDurationField());
    assertEquals(gj.centuries(), gj.weekyearOfCentury().getRangeDurationField());
    assertEquals(null, gj.weekyear().getRangeDurationField());
    assertEquals(gj.weekyears(), gj.weekOfWeekyear().getRangeDurationField());
    assertEquals(gj.years(), gj.dayOfYear().getRangeDurationField());
    assertEquals(gj.months(), gj.dayOfMonth().getRangeDurationField());
    assertEquals(gj.weeks(), gj.dayOfWeek().getRangeDurationField());
  }
Esempio n. 16
0
 public void testPartialGetAsText() {
   GJChronology chrono = GJChronology.getInstance(TOKYO);
   assertEquals("January", new YearMonthDay("2005-01-01", chrono).monthOfYear().getAsText());
   assertEquals("Jan", new YearMonthDay("2005-01-01", chrono).monthOfYear().getAsShortText());
 }
Esempio n. 17
0
  public void testFactory_Zone_RI_int() {
    GJChronology chrono = GJChronology.getInstance(TOKYO, new Instant(0L), 2);
    assertEquals(TOKYO, chrono.getZone());
    assertEquals(new Instant(0L), chrono.getGregorianCutover());
    assertEquals(2, chrono.getMinimumDaysInFirstWeek());
    assertSame(GJChronology.class, GJChronology.getInstance(TOKYO, new Instant(0L), 2).getClass());

    DateTime cutover = new DateTime(1582, 10, 15, 0, 0, 0, 0, DateTimeZone.UTC);
    chrono = GJChronology.getInstance(TOKYO, null, 2);
    assertEquals(TOKYO, chrono.getZone());
    assertEquals(cutover.toInstant(), chrono.getGregorianCutover());
    assertEquals(2, chrono.getMinimumDaysInFirstWeek());

    try {
      GJChronology.getInstance(TOKYO, new Instant(0L), 0);
      fail();
    } catch (IllegalArgumentException ex) {
    }
    try {
      GJChronology.getInstance(TOKYO, new Instant(0L), 8);
      fail();
    } catch (IllegalArgumentException ex) {
    }
  }
Esempio n. 18
0
 public void testWithUTC() {
   assertSame(GJChronology.getInstanceUTC(), GJChronology.getInstance(LONDON).withUTC());
   assertSame(GJChronology.getInstanceUTC(), GJChronology.getInstance(TOKYO).withUTC());
   assertSame(GJChronology.getInstanceUTC(), GJChronology.getInstanceUTC().withUTC());
   assertSame(GJChronology.getInstanceUTC(), GJChronology.getInstance().withUTC());
 }
Esempio n. 19
0
 public void testWithZone() {
   assertSame(GJChronology.getInstance(TOKYO), GJChronology.getInstance(TOKYO).withZone(TOKYO));
   assertSame(GJChronology.getInstance(LONDON), GJChronology.getInstance(TOKYO).withZone(LONDON));
   assertSame(GJChronology.getInstance(PARIS), GJChronology.getInstance(TOKYO).withZone(PARIS));
   assertSame(GJChronology.getInstance(LONDON), GJChronology.getInstance(TOKYO).withZone(null));
   assertSame(GJChronology.getInstance(PARIS), GJChronology.getInstance().withZone(PARIS));
   assertSame(GJChronology.getInstance(PARIS), GJChronology.getInstanceUTC().withZone(PARIS));
 }
Esempio n. 20
0
 // -----------------------------------------------------------------------
 public void testFactoryUTC() {
   assertEquals(DateTimeZone.UTC, GJChronology.getInstanceUTC().getZone());
   assertSame(GJChronology.class, GJChronology.getInstanceUTC().getClass());
 }
Esempio n. 21
0
 public void testFactory_Zone() {
   assertEquals(TOKYO, GJChronology.getInstance(TOKYO).getZone());
   assertEquals(PARIS, GJChronology.getInstance(PARIS).getZone());
   assertEquals(LONDON, GJChronology.getInstance(null).getZone());
   assertSame(GJChronology.class, GJChronology.getInstance(TOKYO).getClass());
 }
Esempio n. 22
0
 public void testFactory() {
   assertEquals(LONDON, GJChronology.getInstance().getZone());
   assertSame(GJChronology.class, GJChronology.getInstance().getClass());
 }
Esempio n. 23
0
  public void testTimeFields() {
    final GJChronology gj = GJChronology.getInstance();
    assertEquals("halfdayOfDay", gj.halfdayOfDay().getName());
    assertEquals("clockhourOfHalfday", gj.clockhourOfHalfday().getName());
    assertEquals("hourOfHalfday", gj.hourOfHalfday().getName());
    assertEquals("clockhourOfDay", gj.clockhourOfDay().getName());
    assertEquals("hourOfDay", gj.hourOfDay().getName());
    assertEquals("minuteOfDay", gj.minuteOfDay().getName());
    assertEquals("minuteOfHour", gj.minuteOfHour().getName());
    assertEquals("secondOfDay", gj.secondOfDay().getName());
    assertEquals("secondOfMinute", gj.secondOfMinute().getName());
    assertEquals("millisOfDay", gj.millisOfDay().getName());
    assertEquals("millisOfSecond", gj.millisOfSecond().getName());

    assertEquals(true, gj.halfdayOfDay().isSupported());
    assertEquals(true, gj.clockhourOfHalfday().isSupported());
    assertEquals(true, gj.hourOfHalfday().isSupported());
    assertEquals(true, gj.clockhourOfDay().isSupported());
    assertEquals(true, gj.hourOfDay().isSupported());
    assertEquals(true, gj.minuteOfDay().isSupported());
    assertEquals(true, gj.minuteOfHour().isSupported());
    assertEquals(true, gj.secondOfDay().isSupported());
    assertEquals(true, gj.secondOfMinute().isSupported());
    assertEquals(true, gj.millisOfDay().isSupported());
    assertEquals(true, gj.millisOfSecond().isSupported());
  }