From 57e614fe0fc4de08a9225855f41c861a7a270dce Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Thu, 24 Apr 2014 17:40:09 +0100 Subject: Extract quarters_between to DateQuarter lib --- spec/lib/date_quarter_spec.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 spec/lib/date_quarter_spec.rb (limited to 'spec/lib/date_quarter_spec.rb') diff --git a/spec/lib/date_quarter_spec.rb b/spec/lib/date_quarter_spec.rb new file mode 100644 index 000000000..29c2eb28d --- /dev/null +++ b/spec/lib/date_quarter_spec.rb @@ -0,0 +1,29 @@ +require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') + +describe DateQuarter do + include DateQuarter + + describe :quarters_between do + + it 'returns all the quarters in a year' do + # This is a bit of a convoluted spec, since we have to convert each + # Time in to an Integer to make a reasonable comparison + # See http://makandracards.com/makandra/1057-why-two-ruby-time-objects-are-not-equal-although-they-appear-to-be + start = Time.parse('2014-01-01') + finish = Time.parse('2014-12-31') + + expected = [['Wed Jan 01 00:00:00 +0000 2014', 'Mon Mar 31 23:59:59 +0000 2014'], + ['Tue Apr 01 00:00:00 +0000 2014', 'Mon Jun 30 23:59:59 +0000 2014'], + ['Tue Jul 01 00:00:00 +0000 2014', 'Tue Sep 30 23:59:59 +0000 2014'], + ['Wed Oct 01 00:00:00 +0000 2014', 'Wed Dec 31 23:59:59 +0000 2014']]. + map { |pair| [Time.parse(pair[0]).to_i, Time.parse(pair[1]).to_i] } + + quarters_between(start, finish).each_with_index do |pair, i| + pair.map!(&:to_i) + pair.should == expected[i] + end + end + + end + +end -- cgit v1.2.3 From 1514e953220b2f9bdfe40f8a124cd42e61fe6805 Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Fri, 2 May 2014 13:15:39 +0100 Subject: Remove dependency on timezone in config --- spec/lib/date_quarter_spec.rb | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'spec/lib/date_quarter_spec.rb') diff --git a/spec/lib/date_quarter_spec.rb b/spec/lib/date_quarter_spec.rb index 29c2eb28d..5af6fa334 100644 --- a/spec/lib/date_quarter_spec.rb +++ b/spec/lib/date_quarter_spec.rb @@ -9,18 +9,20 @@ describe DateQuarter do # This is a bit of a convoluted spec, since we have to convert each # Time in to an Integer to make a reasonable comparison # See http://makandracards.com/makandra/1057-why-two-ruby-time-objects-are-not-equal-although-they-appear-to-be - start = Time.parse('2014-01-01') - finish = Time.parse('2014-12-31') + with_env_tz 'UTC' do + start = Time.parse('2014-01-01') + finish = Time.parse('2014-12-31') - expected = [['Wed Jan 01 00:00:00 +0000 2014', 'Mon Mar 31 23:59:59 +0000 2014'], - ['Tue Apr 01 00:00:00 +0000 2014', 'Mon Jun 30 23:59:59 +0000 2014'], - ['Tue Jul 01 00:00:00 +0000 2014', 'Tue Sep 30 23:59:59 +0000 2014'], - ['Wed Oct 01 00:00:00 +0000 2014', 'Wed Dec 31 23:59:59 +0000 2014']]. - map { |pair| [Time.parse(pair[0]).to_i, Time.parse(pair[1]).to_i] } + expected = [['Wed Jan 01 00:00:00 +0000 2014', 'Mon Mar 31 23:59:59 +0000 2014'], + ['Tue Apr 01 00:00:00 +0000 2014', 'Mon Jun 30 23:59:59 +0000 2014'], + ['Tue Jul 01 00:00:00 +0000 2014', 'Tue Sep 30 23:59:59 +0000 2014'], + ['Wed Oct 01 00:00:00 +0000 2014', 'Wed Dec 31 23:59:59 +0000 2014']]. + map { |pair| [Time.parse(pair[0]).to_i, Time.parse(pair[1]).to_i] } - quarters_between(start, finish).each_with_index do |pair, i| - pair.map!(&:to_i) - pair.should == expected[i] + quarters_between(start, finish).each_with_index do |pair, i| + pair.map!(&:to_i) + pair.should == expected[i] + end end end -- cgit v1.2.3