Sha256: 62177ec77300758dfc850f228853277498f49167077e0ee30c6d3f7dd13af2a4

Contents?: true

Size: 1.35 KB

Versions: 1

Compression:

Stored size: 1.35 KB

Contents

require 'spec_helper'

describe FileScheduler::TimeInterval do

  let(:time) { Time.now }

  def mark(attributes = {})
    FileScheduler::TimeMark.new attributes
  end
  
  def interval(from, to)
    from = mark(from) if Hash === from
    to = mark(to) if Hash === to

    FileScheduler::TimeInterval.new from, to
  end

  describe "#includes?" do

    it "should include 13h55 in 12h30m-15h45m" do
      interval({:hour => 12, :minute => 30}, {:hour => 15, :minute => 45}).should include(Time.parse("13:55"))
    end

    it "should include 00h15 in 22h30-06h45" do
      interval({:hour => 22, :minute => 30}, {:hour => 06, :minute => 45}).should include(Time.parse("00:15"))
    end

    it "should include 23h45 in 22h30-06h45" do
      interval({:hour => 22, :minute => 30}, {:hour => 06, :minute => 45}).should include(Time.parse("23:45"))
    end

    it "should not include 00h15 in 22h30-2009Y06h45" do
      interval({:hour => 22, :minute => 30}, {:year => 2009, :hour => 06, :minute => 45}).should_not include(Time.parse("00:15"))
    end

    it "should include Sun Dec 18 2011 in 6w-1w" do
      interval({:week_day => 6}, {:week_day => 1}).should include(Time.parse("Sun Dec 18 2011"))
    end

    it "should include Sun Dec 18 2011 in 3w-4w" do
      interval({:week_day => 3}, {:week_day => 4}).should_not include(Time.parse("Sun Dec 18 2011"))
    end
    
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
file_scheduler-0.0.2 spec/lib/file_scheduler/time_interval_spec.rb