From cd44cbc191204fd1d60d41bc1c98dfb0c935db12 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Thu, 5 Feb 2009 00:02:28 -0500 Subject: [PATCH] initial repeater tests --- .../test/Horde/Date/Repeater/DayNameTest.php | 81 ++++++-------- .../test/Horde/Date/Repeater/DayTest.php | 8 +- .../test/Horde/Date/Repeater/HourTest.php | 122 +++++++++++---------- .../test/Horde/Date/Repeater/MonthNameTest.php | 13 ++- .../test/Horde/Date/Repeater/MonthTest.php | 13 ++- .../test/Horde/Date/Repeater/TimeTest.php | 14 +-- .../test/Horde/Date/Repeater/WeekTest.php | 12 +- .../test/Horde/Date/Repeater/WeekendTest.php | 13 ++- .../test/Horde/Date/Repeater/YearTest.php | 120 ++++++++++---------- 9 files changed, 200 insertions(+), 196 deletions(-) diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/DayNameTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/DayNameTest.php index 5a7c61b29..21231eaf8 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/DayNameTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/DayNameTest.php @@ -12,50 +12,37 @@ */ class Horde_Date_Repeater_DayNameTest extends PHPUnit_Framework_TestCase { - def setup - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - - def test_match - token = Chronic::Token.new('saturday') - repeater = Chronic::Repeater.scan_for_day_names(token) - assert_equal Chronic::RepeaterDayName, repeater.class - assert_equal :saturday, repeater.type - - token = Chronic::Token.new('sunday') - repeater = Chronic::Repeater.scan_for_day_names(token) - assert_equal Chronic::RepeaterDayName, repeater.class - assert_equal :sunday, repeater.type - end - - def test_next_future - mondays = Chronic::RepeaterDayName.new(:monday) - mondays.start = @now - - span = mondays.next(:future) - - assert_equal Time.local(2006, 8, 21), span.begin - assert_equal Time.local(2006, 8, 22), span.end - - span = mondays.next(:future) - - assert_equal Time.local(2006, 8, 28), span.begin - assert_equal Time.local(2006, 8, 29), span.end - end - - def test_next_past - mondays = Chronic::RepeaterDayName.new(:monday) - mondays.start = @now - - span = mondays.next(:past) - - assert_equal Time.local(2006, 8, 14), span.begin - assert_equal Time.local(2006, 8, 15), span.end - - span = mondays.next(:past) - - assert_equal Time.local(2006, 8, 7), span.begin - assert_equal Time.local(2006, 8, 8), span.end - end - -end \ No newline at end of file + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + + public function testNextFuture() + { + $mondays = new Horde_Date_Repeater_DayName('monday'); + $mondays->now = $this->now; + + $span = $mondays->next('future'); + $this->assertEquals('2006-08-21', $span->begin->format('Y-m-d')); + $this->assertEquals('2006-08-22', $span->end->format('Y-m-d')); + + $span = $mondays->next('future'); + $this->assertEquals('2006-08-28', $span->begin->format('Y-m-d')); + $this->assertEquals('2006-08-29', $span->end->format('Y-m-d')); + } + + public function testNextPast() + { + $mondays = new Horde_Date_Repeater_DayName('monday'); + $mondays->now = $this->now; + + $span = $mondays->next('past'); + $this->assertEquals('2006-08-14', $span->begin->format('Y-m-d')); + $this->assertEquals('2006-08-15', $span->end->format('Y-m-d')); + + $span = $mondays->next('past'); + $this->assertEquals('2006-08-07', $span->begin->format('Y-m-d')); + $this->assertEquals('2006-08-08', $span->end->format('Y-m-d')); + } + +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/DayTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/DayTest.php index b3424e855..ffbcedec4 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/DayTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/DayTest.php @@ -12,11 +12,17 @@ */ class Horde_Date_Repeater_DayTest extends PHPUnit_Framework_TestCase { - public function testNext() + public function testNextFuture() { $repeater = new Horde_Date_Repeater_Day(); $repeater->now = new Horde_Date('2009-01-01'); $this->assertEquals('(2009-01-02 00:00:00..2009-01-03 00:00:00)', (string)$repeater->next('future')); + } + + public function testNextPast() + { + $repeater = new Horde_Date_Repeater_Day(); + $repeater->now = new Horde_Date('2009-01-01'); $this->assertEquals('(2008-12-31 00:00:00..2009-01-01 00:00:00)', (string)$repeater->next('past')); } diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/HourTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/HourTest.php index a3a52775f..85de9fb1b 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/HourTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/HourTest.php @@ -12,63 +12,65 @@ */ class Horde_Date_Repeater_HourTest extends PHPUnit_Framework_TestCase { - def setup - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - - def test_next_future - hours = Chronic::RepeaterHour.new(:hour) - hours.start = @now - - next_hour = hours.next(:future) - assert_equal Time.local(2006, 8, 16, 15), next_hour.begin - assert_equal Time.local(2006, 8, 16, 16), next_hour.end - - next_next_hour = hours.next(:future) - assert_equal Time.local(2006, 8, 16, 16), next_next_hour.begin - assert_equal Time.local(2006, 8, 16, 17), next_next_hour.end - end - - def test_next_past - hours = Chronic::RepeaterHour.new(:hour) - hours.start = @now - - past_hour = hours.next(:past) - assert_equal Time.local(2006, 8, 16, 13), past_hour.begin - assert_equal Time.local(2006, 8, 16, 14), past_hour.end - - past_past_hour = hours.next(:past) - assert_equal Time.local(2006, 8, 16, 12), past_past_hour.begin - assert_equal Time.local(2006, 8, 16, 13), past_past_hour.end - end - - def test_this - @now = Time.local(2006, 8, 16, 14, 30) - - hours = Chronic::RepeaterHour.new(:hour) - hours.start = @now - - this_hour = hours.this(:future) - assert_equal Time.local(2006, 8, 16, 14, 31), this_hour.begin - assert_equal Time.local(2006, 8, 16, 15), this_hour.end - - this_hour = hours.this(:past) - assert_equal Time.local(2006, 8, 16, 14), this_hour.begin - assert_equal Time.local(2006, 8, 16, 14, 30), this_hour.end - end - - def test_offset - span = Chronic::Span.new(@now, @now + 1) - - offset_span = Chronic::RepeaterHour.new(:hour).offset(span, 3, :future) - - assert_equal Time.local(2006, 8, 16, 17), offset_span.begin - assert_equal Time.local(2006, 8, 16, 17, 0, 1), offset_span.end - - offset_span = Chronic::RepeaterHour.new(:hour).offset(span, 24, :past) - - assert_equal Time.local(2006, 8, 15, 14), offset_span.begin - assert_equal Time.local(2006, 8, 15, 14, 0, 1), offset_span.end - end - -end \ No newline at end of file + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + + public function testNextFuture() + { + $hours = new Horde_Date_Repeater_Hour(); + $hours->now = $this->now; + + $nextHour = $hours->next('future'); + $this->assertEquals('2006-08-16 15:00:00', (string)$nextHour->begin); + $this->assertEquals('2006-08-16 16:00:00', (string)$nextHour->end); + + $nextNextHour = $hours->next('future'); + $this->assertEquals('2006-08-16 16:00:00', (string)$nextNextHour->begin); + $this->assertEquals('2006-08-16 17:00:00', (string)$nextNextHour->end); + } + + public function testNextPast() + { + $hours = new Horde_Date_Repeater_Hour(); + $hours->now = $this->now; + + $pastHour = $hours->next('past'); + $this->assertEquals('2006-08-16 13:00:00', (string)$pastHour->begin); + $this->assertEquals('2006-08-16 14:00:00', (string)$pastHour->end); + + $pastPastHour = $hours->next('past'); + $this->assertEquals('2006-08-16 12:00:00', (string)$pastPastHour->begin); + $this->assertEquals('2006-08-16 13:00:00', (string)$pastPastHour->end); + } + + public function testThis() + { + $hours = new Horde_Date_Repeater_Hour(); + $hours->now = new Horde_Date('2006-08-16 14:30:00'); + + $thisHour = $hours->this('future'); + $this->assertEquals('2006-08-16 14:31:00', (string)$thisHour->begin); + $this->assertEquals('2006-08-16 15:00:00', (string)$thisHour->end); + + $thisHour = $hours->this('past'); + $this->assertEquals('2006-08-16 14:00:00', (string)$thisHour->begin); + $this->assertEquals('2006-08-16 14:30:00', (string)$thisHour->end); + } + + public function testOffset() + { + $span = new Horde_Date_Span($this->now, $this->now->add(1)); + $hours = new Horde_Date_Repeater_Hour(); + + $offsetSpan = $hours->offset($span, 3, 'future'); + $this->assertEquals('2006-08-16 16:00:00', (string)$offsetSpan->begin); + $this->assertEquals('2006-08-16 17:00:00', (string)$offsetSpan->end); + + $offsetSpan = $hours->offset($span, 24, 'past'); + $this->assertEquals('2006-08-15 14:00:00', (string)$offsetSpan->begin); + $this->assertEquals('2006-08-15 14:00:01', (string)$offsetSpan->end); + } + +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/MonthNameTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/MonthNameTest.php index 6ba361229..ff3d8b5a8 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/MonthNameTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/MonthNameTest.php @@ -12,11 +12,11 @@ */ class Horde_Date_Repeater_MonthNameTest extends PHPUnit_Framework_TestCase { - def setup - # Wed Aug 16 14:00:00 2006 - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + /* def test_next # future @@ -62,5 +62,6 @@ class Horde_Date_Repeater_MonthNameTest extends PHPUnit_Framework_TestCase assert_equal Time.local(2006, 4, 1), this_april.begin assert_equal Time.local(2006, 5, 1), this_april.end end + */ -end \ No newline at end of file +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/MonthTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/MonthTest.php index 8547ace31..71974e306 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/MonthTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/MonthTest.php @@ -12,11 +12,11 @@ */ class Horde_Date_Repeater_MonthTest extends PHPUnit_Framework_TestCase { - def setup - # Wed Aug 16 14:00:00 2006 - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + /* def test_offset_by # future @@ -52,5 +52,6 @@ class Horde_Date_Repeater_MonthTest extends PHPUnit_Framework_TestCase assert_equal Time.local(2006, 7, 16, 14), offset_span.begin assert_equal Time.local(2006, 7, 16, 14, 1), offset_span.end end + */ -end \ No newline at end of file +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/TimeTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/TimeTest.php index ccc718ac5..38cd6d97b 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/TimeTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/TimeTest.php @@ -12,11 +12,11 @@ */ class Horde_Date_Repeater_TimeTest extends PHPUnit_Framework_TestCase { - def setup - # Wed Aug 16 14:00:00 2006 - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + /* def test_next_future t = Chronic::RepeaterTime.new('4:00') t.start = @now @@ -76,6 +76,6 @@ class Horde_Date_Repeater_TimeTest extends PHPUnit_Framework_TestCase t1 = Chronic::RepeaterTime.new('400') assert_equal 14_400, t1.type.time end + */ - -end \ No newline at end of file +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/WeekTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/WeekTest.php index 77fdadf2f..f92ef38f7 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/WeekTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/WeekTest.php @@ -12,10 +12,11 @@ */ class Horde_Date_Repeater_WeekTest extends PHPUnit_Framework_TestCase { - def setup - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + /* def test_next_future weeks = Chronic::RepeaterWeek.new(:week) weeks.start = @now @@ -68,5 +69,6 @@ class Horde_Date_Repeater_WeekTest extends PHPUnit_Framework_TestCase assert_equal Time.local(2006, 9, 6, 14), offset_span.begin assert_equal Time.local(2006, 9, 6, 14, 0, 1), offset_span.end end + */ -end \ No newline at end of file +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/WeekendTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/WeekendTest.php index 06f7f6e34..7420906ca 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/WeekendTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/WeekendTest.php @@ -12,11 +12,11 @@ */ class Horde_Date_Repeater_WeekendTest extends PHPUnit_Framework_TestCase { - def setup - # Wed Aug 16 14:00:00 2006 - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + /* def test_next_future weekend = Chronic::RepeaterWeekend.new(:weekend) weekend.start = @now @@ -80,5 +80,6 @@ class Horde_Date_Repeater_WeekendTest extends PHPUnit_Framework_TestCase assert_equal Time.local(2006, 8, 12), offset_span.begin assert_equal Time.local(2006, 8, 12, 0, 0, 1), offset_span.end end + */ -end \ No newline at end of file +} diff --git a/framework/Date_Parser/test/Horde/Date/Repeater/YearTest.php b/framework/Date_Parser/test/Horde/Date/Repeater/YearTest.php index 20bb861f0..776e04fe5 100644 --- a/framework/Date_Parser/test/Horde/Date/Repeater/YearTest.php +++ b/framework/Date_Parser/test/Horde/Date/Repeater/YearTest.php @@ -12,61 +12,65 @@ */ class Horde_Date_Repeater_YearTest extends PHPUnit_Framework_TestCase { - def setup - @now = Time.local(2006, 8, 16, 14, 0, 0, 0) - end - - def test_next_future - years = Chronic::RepeaterYear.new(:year) - years.start = @now - - next_year = years.next(:future) - assert_equal Time.local(2007, 1, 1), next_year.begin - assert_equal Time.local(2008, 1, 1), next_year.end - - next_next_year = years.next(:future) - assert_equal Time.local(2008, 1, 1), next_next_year.begin - assert_equal Time.local(2009, 1, 1), next_next_year.end - end - - def test_next_past - years = Chronic::RepeaterYear.new(:year) - years.start = @now - - last_year = years.next(:past) - assert_equal Time.local(2005, 1, 1), last_year.begin - assert_equal Time.local(2006, 1, 1), last_year.end - - last_last_year = years.next(:past) - assert_equal Time.local(2004, 1, 1), last_last_year.begin - assert_equal Time.local(2005, 1, 1), last_last_year.end - end - - def test_this - years = Chronic::RepeaterYear.new(:year) - years.start = @now - - this_year = years.this(:future) - assert_equal Time.local(2006, 8, 17), this_year.begin - assert_equal Time.local(2007, 1, 1), this_year.end - - this_year = years.this(:past) - assert_equal Time.local(2006, 1, 1), this_year.begin - assert_equal Time.local(2006, 8, 16), this_year.end - end - - def test_offset - span = Chronic::Span.new(@now, @now + 1) - - offset_span = Chronic::RepeaterYear.new(:year).offset(span, 3, :future) - - assert_equal Time.local(2009, 8, 16, 14), offset_span.begin - assert_equal Time.local(2009, 8, 16, 14, 0, 1), offset_span.end - - offset_span = Chronic::RepeaterYear.new(:year).offset(span, 10, :past) - - assert_equal Time.local(1996, 8, 16, 14), offset_span.begin - assert_equal Time.local(1996, 8, 16, 14, 0, 1), offset_span.end - end - -end \ No newline at end of file + public function setUp() + { + $this->now = new Horde_Date('2006-08-16 14:00:00'); + } + + public function testNextFuture() + { + $years = new Horde_Date_Repeater_Year(); + $years->now = $this->now; + + $nextYear = $years->next('future'); + $this->assertEquals('2007-01-01', $nextYear->begin->format('Y-m-d')); + $this->assertEquals('2008-01-01', $nextYear->end->format('Y-m-d')); + + $nextNextYear = $years->next('future'); + $this->assertEquals('2008-01-01', $nextNextYear->begin->format('Y-m-d')); + $this->assertEquals('2009-01-01', $nextNextYear->end->format('Y-m-d')); + } + + public function testNextPast() + { + $years = new Horde_Date_Repeater_Year(); + $years->now = $this->now; + + $lastYear = $years->next('past'); + $this->assertEquals('2005-01-01', $lastYear->begin->format('Y-m-d')); + $this->assertEquals('2006-01-01', $lastYear->end->format('Y-m-d')); + + $lastLastYear = $years->last('future'); + $this->assertEquals('2004-01-01', $lastLastYear->begin->format('Y-m-d')); + $this->assertEquals('2005-01-01', $lastLastYear->end->format('Y-m-d')); + } + + public function testThis() + { + $years = new Horde_Date_Repeater_Year(); + $years->now = $this->now; + + $thisYear = $years->this('future'); + $this->assertEquals('2006-08-17', $thisYear->begin->format('Y-m-d')); + $this->assertEquals('2007-01-01', $thisYear->end->format('Y-m-d')); + + $thisYear = $years->this('past'); + $this->assertEquals('2006-01-01', $thisYear->begin->format('Y-m-d')); + $this->assertEquals('2006-08-16', $thisYear->end->format('Y-m-d')); + } + + public function testOffset() + { + $span = new Horde_Date_Span($this->now, $this->now->add(1)); + $years = new Horde_Date_Repeater_Year(); + + $offsetSpan = $years->offset($span, 3, 'future'); + $this->assertEquals('2009-08-16 14:00:00', (string)$offsetSpan->begin); + $this->assertEquals('2009-08-16 14:00:01', (string)$offsetSpan->end); + + $offsetSpan = $years->offset($span, 10, 'past'); + $this->assertEquals('1996-08-16 14:00:00', (string)$offsetSpan->begin); + $this->assertEquals('1996-08-16 14:00:01', (string)$offsetSpan->end); + } + +} -- 2.11.0