public function testBasic() { $event = Tx_CzSimpleCalTests_Mocks_IsRecurringMock::fromArray(array('start' => '2009-02-13 23:31:30GMT', 'end' => '2009-02-13 23:31:30GMT')); $return = $this->buildRecurrance($event); self::assertEquals(1, count($return->toArray()), 'exactly one event returned'); self::assertEquals(array('start' => strtotime('2009-02-13 23:31:30GMT'), 'end' => strtotime('2009-02-13 23:31:30GMT')), $return->current(), 'the event equals the input settings'); }
public function testRecurranceSubtype4Week() { $event = Tx_CzSimpleCalTests_Mocks_IsRecurringMock::fromArray(array('start' => '2009-02-13 23:31:30GMT', 'end' => '2009-02-13 23:31:30GMT', 'recurrance_until' => '2009-03-18 16:00:00GMT', 'recurrance_subtype' => '4week')); $return = $this->buildRecurrance($event); self::assertEquals(2, count($return->toArray()), 'exactly two events returned'); self::assertEquals(array('start' => strtotime('2009-02-13 23:31:30GMT'), 'end' => strtotime('2009-02-13 23:31:30GMT')), $return->current(), 'first event equals the input settings'); self::assertEquals(array('start' => strtotime('2009-03-13 23:31:30GMT'), 'end' => strtotime('2009-03-13 23:31:30GMT')), $return->next(), 'correct interval used'); }
/** * we test for Whit Sunday */ public function testRecurranceSubtypeEasterForLaterDates() { /* pentacoast dates (sunday) * * 2009: 2010-04-12 * 2010: 2010-04-04 */ $event = Tx_CzSimpleCalTests_Mocks_IsRecurringMock::fromArray(array('start' => '2009-05-31 12:00:00GMT', 'end' => '2009-05-31 12:00:00GMT', 'recurrance_until' => '2010-06-01 00:00:00GMT', 'recurrance_subtype' => 'relativetoeaster')); $return = $this->buildRecurrance($event); self::assertEquals(2, count($return->toArray()), 'exactly two events returned'); self::assertEquals(array('start' => strtotime('2009-05-31 12:00:00GMT'), 'end' => strtotime('2009-05-31 12:00:00GMT')), $return->current(), 'first event equals the input settings'); self::assertEquals(array('start' => strtotime('2010-05-23 12:00:00GMT'), 'end' => strtotime('2010-05-23 12:00:00GMT')), $return->next(), 'times are preserved'); }
public function testIfOnlyStartIsSignificant() { $event = Tx_CzSimpleCalTests_Mocks_IsRecurringMock::fromArray(array('start' => '2009-02-13 23:31:30GMT', 'end' => '2009-02-15 16:00:00GMT', 'recurrance_until' => '2009-02-14 23:59:59GMT')); $return = $this->buildRecurrance($event); self::assertEquals(2, count($return->toArray()), 'exactly two event returned.'); }
public function testRecurranceSubtypeAuto() { $event = Tx_CzSimpleCalTests_Mocks_IsRecurringMock::fromArray(array('start' => '2009-02-13 23:31:30GMT', 'end' => '2009-02-13 23:31:30GMT', 'recurrance_until' => '2009-04-12 16:00:00GMT', 'recurrance_subtype' => 'auto')); $return = $this->buildRecurrance($event); self::assertEquals(3, count($return->toArray()), 'exactly three events returned'); self::assertEquals(array('start' => strtotime('2009-02-13 23:31:30GMT'), 'end' => strtotime('2009-02-13 23:31:30GMT')), $return->current(), 'first event equals the input settings'); $return->next(); self::assertEquals(array('start' => strtotime('2009-04-10 23:31:30GMT'), 'end' => strtotime('2009-04-10 23:31:30GMT')), $return->next(), 'correctly interpreted as second friday in month'); }