mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-05-07 01:41:50 +08:00
29 lines
1012 B
Ruby
29 lines
1012 B
Ruby
# require 'bigdecimal'
|
|
|
|
describe "BigDecimal#to_i" do
|
|
@method = :to_i
|
|
# ruby_version_is "" ... "1.9" do
|
|
# ruby_bug "fixed_in_ruby_1_8_7@25799", "1.8.7.202" do
|
|
# it "returns nil if BigDecimal is infinity or NaN" do
|
|
# BigDecimal("Infinity").send(@method).should == nil
|
|
# BigDecimal("NaN").send(@method).should == nil
|
|
# end
|
|
# end
|
|
# end
|
|
|
|
# ruby_version_is "1.9" 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
|
|
# 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
|