summaryrefslogtreecommitdiff
path: root/spec/ruby/library/bigdecimal/fix_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/bigdecimal/fix_spec.rb')
-rw-r--r--spec/ruby/library/bigdecimal/fix_spec.rb99
1 files changed, 51 insertions, 48 deletions
diff --git a/spec/ruby/library/bigdecimal/fix_spec.rb b/spec/ruby/library/bigdecimal/fix_spec.rb
index 231c9a587e..49a898b9c5 100644
--- a/spec/ruby/library/bigdecimal/fix_spec.rb
+++ b/spec/ruby/library/bigdecimal/fix_spec.rb
@@ -1,57 +1,60 @@
require_relative '../../spec_helper'
-require 'bigdecimal'
-
-describe "BigDecimal#fix" do
- before :each do
- @zero = BigDecimal("0")
- @mixed = BigDecimal("1.23456789")
- @pos_int = BigDecimal("2E5555")
- @neg_int = BigDecimal("-2E5555")
- @pos_frac = BigDecimal("2E-9999")
- @neg_frac = BigDecimal("-2E-9999")
-
- @infinity = BigDecimal("Infinity")
- @infinity_neg = BigDecimal("-Infinity")
- @nan = BigDecimal("NaN")
- @zero_pos = BigDecimal("+0")
- @zero_neg = BigDecimal("-0")
+
+ruby_version_is ""..."3.4" do
+ require 'bigdecimal'
+
+ describe "BigDecimal#fix" do
+ before :each do
+ @zero = BigDecimal("0")
+ @mixed = BigDecimal("1.23456789")
+ @pos_int = BigDecimal("2E5555")
+ @neg_int = BigDecimal("-2E5555")
+ @pos_frac = BigDecimal("2E-9999")
+ @neg_frac = BigDecimal("-2E-9999")
+
+ @infinity = BigDecimal("Infinity")
+ @infinity_neg = BigDecimal("-Infinity")
+ @nan = BigDecimal("NaN")
+ @zero_pos = BigDecimal("+0")
+ @zero_neg = BigDecimal("-0")
+ end
+
+ it "returns a BigDecimal" do
+ BigDecimal("2E100000000").fix.kind_of?(BigDecimal).should == true
+ BigDecimal("2E-999").kind_of?(BigDecimal).should == true
end
- it "returns a BigDecimal" do
- BigDecimal("2E100000000").fix.kind_of?(BigDecimal).should == true
- BigDecimal("2E-999").kind_of?(BigDecimal).should == true
- end
+ it "returns the integer part of the absolute value" do
+ a = BigDecimal("2E1000")
+ a.fix.should == a
+ b = BigDecimal("-2E1000")
+ b.fix.should == b
+ BigDecimal("0.123456789E5").fix.should == BigDecimal("0.12345E5")
+ BigDecimal("-0.123456789E5").fix.should == BigDecimal("-0.12345E5")
+ end
- it "returns the integer part of the absolute value" do
- a = BigDecimal("2E1000")
- a.fix.should == a
- b = BigDecimal("-2E1000")
- b.fix.should == b
- BigDecimal("0.123456789E5").fix.should == BigDecimal("0.12345E5")
- BigDecimal("-0.123456789E5").fix.should == BigDecimal("-0.12345E5")
- end
+ it "correctly handles special values" do
+ @infinity.fix.should == @infinity
+ @infinity_neg.fix.should == @infinity_neg
+ @nan.fix.should.nan?
+ end
- it "correctly handles special values" do
- @infinity.fix.should == @infinity
- @infinity_neg.fix.should == @infinity_neg
- @nan.fix.should.nan?
- end
+ it "returns 0 if the absolute value is < 1" do
+ BigDecimal("0.99999").fix.should == 0
+ BigDecimal("-0.99999").fix.should == 0
+ BigDecimal("0.000000001").fix.should == 0
+ BigDecimal("-0.00000001").fix.should == 0
+ BigDecimal("-1000000").fix.should_not == 0
+ @zero.fix.should == 0
+ @zero_pos.fix.should == @zero_pos
+ @zero_neg.fix.should == @zero_neg
+ end
- it "returns 0 if the absolute value is < 1" do
- BigDecimal("0.99999").fix.should == 0
- BigDecimal("-0.99999").fix.should == 0
- BigDecimal("0.000000001").fix.should == 0
- BigDecimal("-0.00000001").fix.should == 0
- BigDecimal("-1000000").fix.should_not == 0
- @zero.fix.should == 0
- @zero_pos.fix.should == @zero_pos
- @zero_neg.fix.should == @zero_neg
- end
+ it "does not allow any arguments" do
+ -> {
+ @mixed.fix(10)
+ }.should raise_error(ArgumentError)
+ end
- it "does not allow any arguments" do
- -> {
- @mixed.fix(10)
- }.should raise_error(ArgumentError)
end
-
end