public function testCombineRRuleAndExDate() { $rset = new RSet(); $rset->addRRule(array('FREQ' => 'YEARLY', 'COUNT' => 6, 'BYDAY' => 'TU, TH', 'DTSTART' => date_create('1997-09-02 09:00'))); $rset->addExdate('1997-09-04 09:00:00'); $rset->addExdate('1997-09-11 09:00:00'); $rset->addExdate('1997-09-18 09:00:00'); // adding out of order $this->assertEquals(array(date_create('1997-09-02 09:00'), date_create('1997-09-09 09:00'), date_create('1997-09-16 09:00')), $rset->getOccurrences()); $this->assertEquals(date_create('1997-09-09 09:00'), $rset[1]); $this->assertEquals(array(date_create('1997-09-16 09:00')), $rset->getOccurrencesBetween('1997-09-16 00:00', '1997-09-17 00:00')); $this->assertTrue($rset->occursAt('1997-09-02 09:00')); $this->assertFalse($rset->occursAt('1997-09-04 09:00')); $rset->clearCache(); $this->assertTrue($rset->occursAt('1997-09-02 09:00')); $this->assertFalse($rset->occursAt('1997-09-04 09:00')); }