commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / packages / When / Tests / When_Iterator_Test.php
1 <?php
2
3 require_once 'PHPUnit/Framework.php';
4
5 require_once './When_Iterator.php';
6
7 class When_Iterator_Tests extends PHPUnit_Framework_TestCase
8 {
9
10 function testDateWithoutCache()
11 {
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');
19
20 $r = new When_Iterator();
21 $r->recur('19970929T090000', 'monthly')->count(7)->byday(array('MO', 'TU', 'WE', 'TH', 'FR'))->bysetpos(array(-2));
22
23 $counter = 0;
24 foreach($r as $result)
25 {
26 $this->assertEquals($result, $results[$counter]);
27 $counter++;
28 }
29
30 // if we rewind does it still work?
31 $r->rewind();
32
33 $counter = 0;
34 foreach($r as $result)
35 {
36 $this->assertEquals($result, $results[$counter]);
37 $counter++;
38 }
39 }
40
41 function testDateWithCache()
42 {
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');
50
51 $r = new When_Iterator(true);
52 $r->recur('19970929T090000', 'monthly')->count(7)->byday(array('MO', 'TU', 'WE', 'TH', 'FR'))->bysetpos(array(-2));
53
54 $counter = 0;
55 foreach($r as $result)
56 {
57 $this->assertEquals($result, $results[$counter]);
58 $counter++;
59 }
60
61 // if we rewind does it still work?
62 $r->rewind();
63
64 $counter = 0;
65 foreach($r as $result)
66 {
67 $this->assertEquals($result, $results[$counter]);
68 $counter++;
69 }
70 }
71
72 }