4 class EventTest extends \PHPUnit_Framework_TestCase
6 public function testIsWithinSameDaySameYear()
8 $event = new Event('Amy', 'birthday', '1995-02-24');
9 $this->assertTrue($event->isWithin('1995-02-24', 0, 0));
10 $this->assertTrue($event->isWithin('1995-02-24', 3, 7));
13 public function testIsWithinSameDayDifferentYear()
15 $event = new Event('Amy', 'birthday', '1995-02-24');
16 $this->assertTrue($event->isWithin('2019-02-24', 0, 0));
17 $this->assertTrue($event->isWithin('1996-02-24', 3, 7));
20 public function testIsWithinOneDayAfterSameYear()
22 $event = new Event('Amy', 'birthday', '1995-02-24');
23 $this->assertFalse($event->isWithin('1995-02-23', 0, 0));
24 $this->assertTrue($event->isWithin('1995-02-23', 3, 7));
27 public function testIsWithinOneDayBeforeSameYear()
29 $event = new Event('Amy', 'birthday', '1995-02-24');
30 $this->assertFalse($event->isWithin('1995-02-25', 0, 0));
31 $this->assertTrue($event->isWithin('1995-02-25', 3, 7));
34 public function testIsWithinOneDayBeforeDifferentYear()
36 $event = new Event('Amy', 'birthday', '1995-02-24');
37 $this->assertFalse($event->isWithin('1999-02-25', 0, 0));
38 $this->assertTrue($event->isWithin('1990-02-25', 3, 7));
41 public function testIsWithinThreeDaysBeforeSameYear()
43 $event = new Event('Amy', 'birthday', '1995-02-24');
44 $this->assertFalse($event->isWithin('1999-02-27', 0, 0));
45 $this->assertFalse($event->isWithin('1999-02-27', 1, 0));
46 $this->assertFalse($event->isWithin('1999-02-27', 2, 0));
47 $this->assertTrue( $event->isWithin('1990-02-27', 3, 0));
49 $this->assertFalse($event->isWithin('1999-02-27', 0, 3));
52 public function testIsWithinYearOverflowAfter()
54 $event = new Event('Amy', 'birthday', '1995-01-01');
55 $this->assertTrue($event->isWithin('2019-12-31', 0, 1));
56 $this->assertFalse($event->isWithin('1996-12-30', 0, 1));
59 public function testIsWithinYearOverflowBefore()
61 $event = new Event('Amy', 'birthday', '1995-12-30');
62 $this->assertTrue($event->isWithin('2019-01-02', 3, 0));
63 $this->assertFalse($event->isWithin('1996-01-02', 2, 0));
64 $this->assertTrue($event->isWithin('1996-01-01', 2, 0));
67 public function testCompareDifferentMonths()
69 $this->assertLessThan(
72 new Event('Amy', 'birthday', '2013-05-10'),
73 new Event('Bob', 'birthday', '2013-06-10')
76 $this->assertGreaterThan(
79 new Event('Amy', 'birthday', '2013-10-10'),
80 new Event('Bob', 'birthday', '2013-08-10')
85 public function testCompareDifferentMonthsYearOverflow()
87 $this->assertGreaterThan(
90 new Event('Amy', 'birthday', '2013-01-10'),
91 new Event('Bob', 'birthday', '2013-12-10')
94 $this->assertLessThan(
97 new Event('Amy', 'birthday', '2013-12-10'),
98 new Event('Bob', 'birthday', '2013-02-10')
103 public function testCompareDifferentDays()
105 $this->assertLessThan(
108 new Event('Amy', 'birthday', '1950-05-10'),
109 new Event('Bob', 'birthday', '2013-05-11')
112 $this->assertGreaterThan(
115 new Event('Amy', 'birthday', '2013-10-20'),
116 new Event('Bob', 'birthday', '1992-10-02')
121 public function testCompareSameDay()
123 $this->assertLessThan(
126 new Event('Amy', 'birthday', '1950-05-10'),
127 new Event('Bob', 'birthday', '2013-05-10')
130 $this->assertGreaterThan(
133 new Event('Bob', 'birthday', '1992-10-02'),
134 new Event('Amy', 'birthday', '2013-10-02')