3 require_once 'PHPUnit/Framework.php';
5 require_once './When_Iterator.php';
7 class When_Iterator_Tests
extends PHPUnit_Framework_TestCase
10 function testDateWithoutCache()
12 $results[] = new DateTime('1997-09-29 09:00:00');
13 $results[] = new DateTime('1997-10-30 09:00:00');
14 $results[] = new DateTime('1997-11-27 09:00:00');
15 $results[] = new DateTime('1997-12-30 09:00:00');
16 $results[] = new DateTime('1998-01-29 09:00:00');
17 $results[] = new DateTime('1998-02-26 09:00:00');
18 $results[] = new DateTime('1998-03-30 09:00:00');
20 $r = new When_Iterator();
21 $r->recur('19970929T090000', 'monthly')->count(7)->byday(array('MO', 'TU', 'WE', 'TH', 'FR'))->bysetpos(array(-2));
24 foreach($r as $result)
26 $this->assertEquals($result, $results[$counter]);
30 // if we rewind does it still work?
34 foreach($r as $result)
36 $this->assertEquals($result, $results[$counter]);
41 function testDateWithCache()
43 $results[] = new DateTime('1997-09-29 09:00:00');
44 $results[] = new DateTime('1997-10-30 09:00:00');
45 $results[] = new DateTime('1997-11-27 09:00:00');
46 $results[] = new DateTime('1997-12-30 09:00:00');
47 $results[] = new DateTime('1998-01-29 09:00:00');
48 $results[] = new DateTime('1998-02-26 09:00:00');
49 $results[] = new DateTime('1998-03-30 09:00:00');
51 $r = new When_Iterator(true);
52 $r->recur('19970929T090000', 'monthly')->count(7)->byday(array('MO', 'TU', 'WE', 'TH', 'FR'))->bysetpos(array(-2));
55 foreach($r as $result)
57 $this->assertEquals($result, $results[$counter]);
61 // if we rewind does it still work?
65 foreach($r as $result)
67 $this->assertEquals($result, $results[$counter]);