mirror of
https://github.com/ruby/ruby.git
synced 2025-08-25 14:05:02 +02:00

* For easier modifications of ruby/spec by MRI developers. * .gitignore: track changes under spec. * spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec. These files can therefore be updated like any other file in MRI. Instructions are provided in spec/README. [Feature #13156] [ruby-core:79246] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
16 lines
645 B
Ruby
16 lines
645 B
Ruby
require 'bigdecimal'
|
|
|
|
describe :bigdecimal_to_int , shared: true do
|
|
it "raises FloatDomainError if BigDecimal is infinity or NaN" do
|
|
lambda { BigDecimal("Infinity").send(@method) }.should raise_error(FloatDomainError)
|
|
lambda { BigDecimal("NaN").send(@method) }.should raise_error(FloatDomainError)
|
|
end
|
|
|
|
it "returns Integer or Bignum otherwise" do
|
|
BigDecimal("3E-20001").send(@method).should == 0
|
|
BigDecimal("2E4000").send(@method).should == 2 * 10 ** 4000
|
|
BigDecimal("2").send(@method).should == 2
|
|
BigDecimal("2E10").send(@method).should == 20000000000
|
|
BigDecimal("3.14159").send(@method).should == 3
|
|
end
|
|
end
|