EthiopianCalendar extends ChronologyBasedCalendar { @Override public int daysInMonth( int year, int month ) { if ( month > 12 ) { throw new RuntimeException( "Illegal month, must be between 1 and 12, was given " + month ); } return 30; } protected  EthiopianCalendar(); static Calendar getInstance(); @Override String name(); @Override DateTimeUnit toIso( DateTimeUnit dateTimeUnit ); @Override DateTimeUnit fromIso( Date date ); @Override DateTimeUnit fromIso( DateTimeUnit dateTimeUnit ); @Override DateTimeUnit plusDays( DateTimeUnit dateTimeUnit, int days ); @Override DateTimeUnit minusDays( DateTimeUnit dateTimeUnit, int days ); @Override DateTimeUnit plusWeeks( DateTimeUnit dateTimeUnit, int weeks ); @Override DateTimeUnit minusWeeks( DateTimeUnit dateTimeUnit, int weeks ); @Override DateTimeUnit plusMonths( DateTimeUnit dateTimeUnit, int months ); @Override DateTimeUnit minusMonths( DateTimeUnit dateTimeUnit, int months ); @Override DateTimeUnit plusYears( DateTimeUnit dateTimeUnit, int years ); @Override DateTimeUnit minusYears( DateTimeUnit dateTimeUnit, int years ); @Override int daysInYear( int year ); @Override int daysInMonth( int year, int month ); @Override int daysInWeek(); @Override DateTimeUnit isoStartOfYear( int year );  }
@Test( expected = RuntimeException.class ) public void testDaysInMonth13() { calendar.daysInMonth( 2007, 13 ); }