Sha256: cd26df28453d90973dc08322d825eb806839767808b9e5f2043043a693027321
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
require 'bigdecimal' ruby_version_is "" ... "1.9" do describe "BigDecimal.induced_from" do it "returns the passed argument when passed a BigDecimal" do BigDecimal.induced_from(BigDecimal("5")).should == BigDecimal("5") BigDecimal.induced_from(BigDecimal("-5")).should == BigDecimal("-5") BigDecimal.induced_from(BigDecimal("Infinity")).should == BigDecimal("Infinity") end it "converts passed Fixnums to BigDecimal" do BigDecimal.induced_from(5).should == BigDecimal("5") BigDecimal.induced_from(-5).should == BigDecimal("-5") BigDecimal.induced_from(0).should == BigDecimal("0") end it "converts passed Bignums to BigDecimal" do BigDecimal.induced_from(bignum_value).should == BigDecimal(bignum_value.to_s) BigDecimal.induced_from(-bignum_value).should == BigDecimal((-bignum_value).to_s) end it "does not try to convert non-Integers to Integer using #to_i" do obj = mock("Not converted to Integer") obj.should_not_receive(:to_i) lambda { BigDecimal.induced_from(obj) }.should raise_error(TypeError) end it "raises a TypeError when passed a non-Integer" do lambda { BigDecimal.induced_from(2.0) }.should raise_error(TypeError) lambda { BigDecimal.induced_from("2") }.should raise_error(TypeError) lambda { BigDecimal.induced_from(:symbol) }.should raise_error(TypeError) lambda { BigDecimal.induced_from(nil) }.should raise_error(TypeError) lambda { BigDecimal.induced_from(Object.new) }.should raise_error(TypeError) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubysl-bigdecimal-1.0.0 | spec/induced_from_spec.rb |
rubysl-bigdecimal-2.0.2 | spec/induced_from_spec.rb |