dongmin-shin/google-rfc-2445

RecurrenceIteratorFactory.except doesn't honor its contract

Opened this issue · 0 comments

A simple JUnit test is needed to reproduce the bug.



public void testExcept() throws Exception 
{
  RecurrenceIterator rrule 
         = RecurrenceIteratorFactory
                  .createRecurrenceIterator(
                                  "RRULE:FREQ=WEEKLY;INTERVAL=3;COUNT=5",
                                  new DateValueImpl(2009, 02, 02), 
                                  GMT1);
  StringBuilder sb = createRecuranceDateString(rrule);

  // test succeed
  assertEquals("20090202,20090223,20090316,20090406,20090427", 
                                   sb.toString());

  RecurrenceIterator rdate 
         = RecurrenceIteratorFactory
                  .createRecurrenceIterator(
                                  "RDATE;VALUE=DATE:20090316", 
                                  new DateValueImpl(2009, 03, 16), 
                                  GMT1);

  sb = createRecuranceDateString(rdate);

  //test succeed
  assertEquals("20090316", sb.toString());

  RecurrenceIterator rdateExcept 
                = RecurrenceIteratorFactory.except(rrule, rdate);

  sb = createRecuranceDateString(rdateExcept);

  //test FAILED !! 
  assertEquals("20090202,20090223,20090406,20090427", sb.toString());
}


The last assert returns: 
   junit.framework.ComparisonFailure: 
      expected:<20090202,20090223,20090406,20090427> 
      but was:<>


Thanks for this excellent project,

Regards


Yanick.

Original issue reported on code.google.com by yani...@gmail.com on 18 Feb 2009 at 11:15