spec/schedulability/schedule_spec.rb in schedulability-0.2.0 vs spec/schedulability/schedule_spec.rb in schedulability-0.3.0
- old
+ new
@@ -344,10 +344,66 @@
expect( schedule ).to_not include( time + 1.hour )
expect( schedule ).to_not include( time + 3.hours )
end
+
+ it "handles 12am correctly" do
+ schedule = described_class.parse( "hr {12am}" )
+ time = Time.iso8601( '2015-12-15T00:00:00-00:00' )
+
+ expect( schedule ).to_not include( time - 1 )
+ expect( schedule ).to include( time )
+ expect( schedule ).to include( time + 1.minute )
+ expect( schedule ).to include( time + 20.minutes )
+ expect( schedule ).to include( time + (1.hour - 1.minute) )
+ expect( schedule ).to_not include( time + 1.hour )
+ expect( schedule ).to_not include( time + 3.hours )
+ end
+
+
+ it "handles am times correctly" do
+ schedule = described_class.parse( "hr {9am}" )
+ time = Time.iso8601( '2015-12-15T09:00:00-00:00' )
+
+ expect( schedule ).to_not include( time - 1 )
+ expect( schedule ).to include( time )
+ expect( schedule ).to include( time + 1.minute )
+ expect( schedule ).to include( time + 20.minutes )
+ expect( schedule ).to include( time + (1.hour - 1.minute) )
+ expect( schedule ).to_not include( time + 1.hour )
+ expect( schedule ).to_not include( time + 3.hours )
+ end
+
+
+ it "handles 0 correctly" do
+ schedule = described_class.parse( "hr {0}" )
+ time = Time.iso8601( '2015-12-15T00:00:00-00:00' )
+
+ expect( schedule ).to_not include( time - 1 )
+ expect( schedule ).to include( time )
+ expect( schedule ).to include( time + 1.minute )
+ expect( schedule ).to include( time + 20.minutes )
+ expect( schedule ).to include( time + (1.hour - 1.minute) )
+ expect( schedule ).to_not include( time + 1.hour )
+ expect( schedule ).to_not include( time + 3.hours )
+ end
+
+
+ it "allows hour values equal to 0" do
+ expect {
+ described_class.parse( 'hr {0}' )
+ }.not_to raise_error
+ expect {
+ described_class.parse( 'hr {0 5 10}' )
+ }.not_to raise_error
+ expect {
+ described_class.parse( 'hr {0-23}' )
+ }.not_to raise_error
+ end
+
+
it "matches single day number values as a 86400-second exclusive range" do
schedule = described_class.parse( "md {11}" )
expect( schedule ).to_not include( '2014-06-10T23:00:00-00:00' )
expect( schedule ).to_not include( '2014-06-10T23:59:59-00:00' )
@@ -924,6 +980,5 @@
end
end
end
-