Merge branch 'gem'
[fuzed.git] / helloworld / vendor / gems / chronic-0.2.2 / test / test_RepeaterYear.rb
blobeaebe25a2eb1175791b469b5f2f45bc4dd37ec14
1 require 'chronic'
2 require 'test/unit'
4 class TestRepeaterYear < Test::Unit::TestCase
5   
6   def setup
7     @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
8   end
10   def test_next_future
11     years = Chronic::RepeaterYear.new(:year)
12     years.start = @now
13     
14     next_year = years.next(:future)
15     assert_equal Time.local(2007, 1, 1), next_year.begin
16     assert_equal Time.local(2008, 1, 1), next_year.end
17     
18     next_next_year = years.next(:future)
19     assert_equal Time.local(2008, 1, 1), next_next_year.begin
20     assert_equal Time.local(2009, 1, 1), next_next_year.end
21   end
22   
23   def test_next_past
24     years = Chronic::RepeaterYear.new(:year)
25     years.start = @now
26     
27     last_year = years.next(:past)
28     assert_equal Time.local(2005, 1, 1), last_year.begin
29     assert_equal Time.local(2006, 1, 1), last_year.end
30     
31     last_last_year = years.next(:past)
32     assert_equal Time.local(2004, 1, 1), last_last_year.begin
33     assert_equal Time.local(2005, 1, 1), last_last_year.end
34   end
35   
36   def test_this
37     years = Chronic::RepeaterYear.new(:year)
38     years.start = @now
39     
40     this_year = years.this(:future)
41     assert_equal Time.local(2006, 8, 17), this_year.begin
42     assert_equal Time.local(2007, 1, 1), this_year.end
43     
44     this_year = years.this(:past)
45     assert_equal Time.local(2006, 1, 1), this_year.begin
46     assert_equal Time.local(2006, 8, 16), this_year.end
47   end
48   
49   def test_offset
50     span = Chronic::Span.new(@now, @now + 1)
51     
52     offset_span = Chronic::RepeaterYear.new(:year).offset(span, 3, :future)
53     
54     assert_equal Time.local(2009, 8, 16, 14), offset_span.begin
55     assert_equal Time.local(2009, 8, 16, 14, 0, 1), offset_span.end
56     
57     offset_span = Chronic::RepeaterYear.new(:year).offset(span, 10, :past)
58     
59     assert_equal Time.local(1996, 8, 16, 14), offset_span.begin
60     assert_equal Time.local(1996, 8, 16, 14, 0, 1), offset_span.end
61   end
62   
63 end