diff options
Diffstat (limited to 'spec/ruby/library/date/infinity_spec.rb')
| -rw-r--r-- | spec/ruby/library/date/infinity_spec.rb | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/spec/ruby/library/date/infinity_spec.rb b/spec/ruby/library/date/infinity_spec.rb new file mode 100644 index 0000000000..721fd76066 --- /dev/null +++ b/spec/ruby/library/date/infinity_spec.rb @@ -0,0 +1,67 @@ +require 'date' +require_relative '../../spec_helper' + +describe "Date::Infinity" do + + it "should be able to check whether Infinity is zero" do + i = Date::Infinity.new + i.should_not.zero? + end + + it "should be able to check whether Infinity is finite" do + i1 = Date::Infinity.new + i1.should_not.finite? + i2 = Date::Infinity.new(-1) + i2.should_not.finite? + i3 = Date::Infinity.new(0) + i3.should_not.finite? + end + + it "should be able to check whether Infinity is infinite" do + i1 = Date::Infinity.new + i1.infinite?.should == 1 + i2 = Date::Infinity.new(-1) + i2.infinite?.should == -1 + i3 = Date::Infinity.new(0) + i3.infinite?.should == nil + end + + it "should be able to check whether Infinity is not a number" do + i1 = Date::Infinity.new + i1.should_not.nan? + i2 = Date::Infinity.new(-1) + i2.should_not.nan? + i3 = Date::Infinity.new(0) + i3.should.nan? + end + + it "should be able to compare Infinity objects" do + i1 = Date::Infinity.new + i2 = Date::Infinity.new(-1) + i3 = Date::Infinity.new(0) + i4 = Date::Infinity.new + (i4 <=> i1).should == 0 + (i3 <=> i1).should == -1 + (i2 <=> i1).should == -1 + (i3 <=> i2).should == 1 + end + + it "should be able to return plus Infinity for abs" do + i1 = Date::Infinity.new + i2 = Date::Infinity.new(-1) + i3 = Date::Infinity.new(0) + (i2.abs <=> i1).should == 0 + (i3.abs <=> i1).should == 0 + end + + it "should be able to use -@ and +@ for Date::Infinity" do + (Date::Infinity.new <=> +Date::Infinity.new).should == 0 + (Date::Infinity.new(-1) <=> -Date::Infinity.new).should == 0 + end + + it "should be able to coerce a Date::Infinity object" do + Date::Infinity.new.coerce(1).should == [-1, 1] + Date::Infinity.new(0).coerce(2).should == [0, 0] + Date::Infinity.new(-1).coerce(1.5).should == [1, -1] + end +end |
