summaryrefslogtreecommitdiff
path: root/spec/ruby/library/bigdecimal/plus_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/bigdecimal/plus_spec.rb')
-rw-r--r--spec/ruby/library/bigdecimal/plus_spec.rb93
1 files changed, 48 insertions, 45 deletions
diff --git a/spec/ruby/library/bigdecimal/plus_spec.rb b/spec/ruby/library/bigdecimal/plus_spec.rb
index d1934841c8..e1ae0e3163 100644
--- a/spec/ruby/library/bigdecimal/plus_spec.rb
+++ b/spec/ruby/library/bigdecimal/plus_spec.rb
@@ -1,54 +1,57 @@
require_relative '../../spec_helper'
-require 'bigdecimal'
-
-describe "BigDecimal#+" do
-
- before :each do
- @one = BigDecimal("1")
- @zero = BigDecimal("0")
- @two = BigDecimal("2")
- @three = BigDecimal("3")
- @ten = BigDecimal("10")
- @eleven = BigDecimal("11")
- @nan = BigDecimal("NaN")
- @infinity = BigDecimal("Infinity")
- @infinity_minus = BigDecimal("-Infinity")
- @one_minus = BigDecimal("-1")
- @frac_1 = BigDecimal("1E-99999")
- @frac_2 = BigDecimal("0.9E-99999")
- end
- it "returns a + b" do
- (@two + @one).should == @three
- (@one + @two).should == @three
- (@one + @one_minus).should == @zero
- (@zero + @one).should == @one
- (@ten + @one).should == @eleven
- (@frac_1 + @frac_2).should == BigDecimal("1.9E-99999")
- (@frac_2 + @frac_1).should == BigDecimal("1.9E-99999")
- (@frac_1 + @frac_1).should == BigDecimal("2E-99999")
- end
+ruby_version_is ""..."3.4" do
+ require 'bigdecimal'
- it "returns NaN if NaN is involved" do
- (@one + @nan).should.nan?
- (@nan + @one).should.nan?
- end
+ describe "BigDecimal#+" do
- it "returns Infinity or -Infinity if these are involved" do
- (@zero + @infinity).should == @infinity
- (@frac_2 + @infinity).should == @infinity
- (@two + @infinity_minus).should == @infinity_minus
- end
+ before :each do
+ @one = BigDecimal("1")
+ @zero = BigDecimal("0")
+ @two = BigDecimal("2")
+ @three = BigDecimal("3")
+ @ten = BigDecimal("10")
+ @eleven = BigDecimal("11")
+ @nan = BigDecimal("NaN")
+ @infinity = BigDecimal("Infinity")
+ @infinity_minus = BigDecimal("-Infinity")
+ @one_minus = BigDecimal("-1")
+ @frac_1 = BigDecimal("1E-99999")
+ @frac_2 = BigDecimal("0.9E-99999")
+ end
- it "returns NaN if Infinity + (- Infinity)" do
- (@infinity + @infinity_minus).should.nan?
- end
+ it "returns a + b" do
+ (@two + @one).should == @three
+ (@one + @two).should == @three
+ (@one + @one_minus).should == @zero
+ (@zero + @one).should == @one
+ (@ten + @one).should == @eleven
+ (@frac_1 + @frac_2).should == BigDecimal("1.9E-99999")
+ (@frac_2 + @frac_1).should == BigDecimal("1.9E-99999")
+ (@frac_1 + @frac_1).should == BigDecimal("2E-99999")
+ end
+
+ it "returns NaN if NaN is involved" do
+ (@one + @nan).should.nan?
+ (@nan + @one).should.nan?
+ end
+
+ it "returns Infinity or -Infinity if these are involved" do
+ (@zero + @infinity).should == @infinity
+ (@frac_2 + @infinity).should == @infinity
+ (@two + @infinity_minus).should == @infinity_minus
+ end
+
+ it "returns NaN if Infinity + (- Infinity)" do
+ (@infinity + @infinity_minus).should.nan?
+ end
- describe "with Object" do
- it "tries to coerce the other operand to self" do
- object = mock("Object")
- object.should_receive(:coerce).with(@one).and_return([@one, BigDecimal("42")])
- (@one + object).should == BigDecimal("43")
+ describe "with Object" do
+ it "tries to coerce the other operand to self" do
+ object = mock("Object")
+ object.should_receive(:coerce).with(@one).and_return([@one, BigDecimal("42")])
+ (@one + object).should == BigDecimal("43")
+ end
end
end
end