initial repeater tests
authorChuck Hagenbuch <chuck@horde.org>
Thu, 5 Feb 2009 05:02:28 +0000 (00:02 -0500)
committerChuck Hagenbuch <chuck@horde.org>
Thu, 5 Feb 2009 05:02:43 +0000 (00:02 -0500)
framework/Date_Parser/test/Horde/Date/Repeater/DayNameTest.php
framework/Date_Parser/test/Horde/Date/Repeater/DayTest.php
framework/Date_Parser/test/Horde/Date/Repeater/HourTest.php
framework/Date_Parser/test/Horde/Date/Repeater/MonthNameTest.php
framework/Date_Parser/test/Horde/Date/Repeater/MonthTest.php
framework/Date_Parser/test/Horde/Date/Repeater/TimeTest.php
framework/Date_Parser/test/Horde/Date/Repeater/WeekTest.php
framework/Date_Parser/test/Horde/Date/Repeater/WeekendTest.php
framework/Date_Parser/test/Horde/Date/Repeater/YearTest.php

index 5a7c61b..21231ea 100644 (file)
  */
 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'));
+    }
+
+}
index b3424e8..ffbcede 100644 (file)
  */
 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'));
     }
 
index a3a5277..85de9fb 100644 (file)
  */
 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);
+    }
+
+}
index 6ba3612..ff3d8b5 100644 (file)
  */
 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
+}
index 8547ace..71974e3 100644 (file)
  */
 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
+}
index ccc718a..38cd6d9 100644 (file)
  */
 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
+}
index 77fdadf..f92ef38 100644 (file)
  */
 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
+}
index 06f7f6e..7420906 100644 (file)
  */
 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
+}
index 20bb861..776e04f 100644 (file)
  */
 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);
+    }
+
+}