diff options
Diffstat (limited to 'spec/ruby/core/integer/fdiv_spec.rb')
| -rw-r--r-- | spec/ruby/core/integer/fdiv_spec.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/spec/ruby/core/integer/fdiv_spec.rb b/spec/ruby/core/integer/fdiv_spec.rb index d99a19eb0f..7854d66dec 100644 --- a/spec/ruby/core/integer/fdiv_spec.rb +++ b/spec/ruby/core/integer/fdiv_spec.rb @@ -55,13 +55,18 @@ describe "Integer#fdiv" do num.fdiv(den).should == -0.5555555555555556 end + it "rounds to the correct float for bignum denominators" do + 1.fdiv(10**324).should == 0.0 + 1.fdiv(10**323).should == 1.0e-323 + end + it "performs floating-point division between self and a Float" do 8.fdiv(9.0).should be_close(0.888888888888889, TOLERANCE) end it "returns NaN when the argument is NaN" do - -1.fdiv(nan_value).nan?.should be_true - 1.fdiv(nan_value).nan?.should be_true + -1.fdiv(nan_value).nan?.should == true + 1.fdiv(nan_value).nan?.should == true end it "returns Infinity when the argument is 0" do @@ -81,11 +86,11 @@ describe "Integer#fdiv" do end it "raises a TypeError when argument isn't numeric" do - -> { 1.fdiv(mock('non-numeric')) }.should raise_error(TypeError) + -> { 1.fdiv(mock('non-numeric')) }.should.raise(TypeError) end it "raises an ArgumentError when passed multiple arguments" do - -> { 1.fdiv(6,0.2) }.should raise_error(ArgumentError) + -> { 1.fdiv(6,0.2) }.should.raise(ArgumentError) end it "follows the coercion protocol" do |
