2017-05-07 08:04:49 -04:00
|
|
|
require 'date'
|
2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "Date#step" do
|
|
|
|
|
|
|
|
it "steps forward in time" do
|
|
|
|
ds = Date.civil(2008, 10, 11)
|
|
|
|
de = Date.civil(2008, 9, 29)
|
|
|
|
count = 0
|
|
|
|
de.step(ds) do |d|
|
|
|
|
d.should <= ds
|
|
|
|
d.should >= de
|
|
|
|
count += 1
|
|
|
|
end
|
|
|
|
count.should == 13
|
|
|
|
|
|
|
|
count = 0
|
|
|
|
de.step(ds, 5) do |d|
|
|
|
|
d.should <= ds
|
|
|
|
d.should >= de
|
|
|
|
count += 1
|
|
|
|
end
|
|
|
|
count.should == 3
|
|
|
|
|
|
|
|
count = 0
|
|
|
|
ds.step(de) do |d|; count += 1; end
|
|
|
|
count.should == 0
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
it "steps backward in time" do
|
|
|
|
ds = Date.civil(2000, 4, 14)
|
|
|
|
de = Date.civil(2000, 3, 29)
|
|
|
|
count = 0
|
|
|
|
ds.step(de, -1) do |d|
|
|
|
|
d.should <= ds
|
|
|
|
d.should >= de
|
|
|
|
count += 1
|
|
|
|
end
|
|
|
|
count.should == 17
|
|
|
|
|
|
|
|
count = 0
|
|
|
|
ds.step(de, -5) do |d|
|
|
|
|
d.should <= ds
|
|
|
|
d.should >= de
|
|
|
|
count += 1
|
|
|
|
end
|
|
|
|
count.should == 4
|
|
|
|
|
|
|
|
count = 0
|
|
|
|
de.step(ds, -1) do |d|; count += 1; end
|
|
|
|
count.should == 0
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|