diff options
Diffstat (limited to 'spec/rubyspec/library/bigdecimal')
-rw-r--r-- | spec/rubyspec/library/bigdecimal/gt_spec.rb | 15 | ||||
-rw-r--r-- | spec/rubyspec/library/bigdecimal/gte_spec.rb | 15 | ||||
-rw-r--r-- | spec/rubyspec/library/bigdecimal/lt_spec.rb | 15 | ||||
-rw-r--r-- | spec/rubyspec/library/bigdecimal/lte_spec.rb | 15 |
4 files changed, 60 insertions, 0 deletions
diff --git a/spec/rubyspec/library/bigdecimal/gt_spec.rb b/spec/rubyspec/library/bigdecimal/gt_spec.rb index effd3ea35f..2f9ea4fd68 100644 --- a/spec/rubyspec/library/bigdecimal/gt_spec.rb +++ b/spec/rubyspec/library/bigdecimal/gt_spec.rb @@ -28,6 +28,10 @@ describe "BigDecimal#>" do @infinity = BigDecimal("Infinity") @infinity_neg = BigDecimal("-Infinity") + + @float_infinity = Float::INFINITY + @float_infinity_neg = -Float::INFINITY + @nan = BigDecimal("NaN") end @@ -64,6 +68,17 @@ describe "BigDecimal#>" do (@infinity_neg > @infinity).should == false end + ruby_bug "#13674", ""..."2.4" do + it "properly handles Float infinity values" do + @values.each { |val| + (val > @float_infinity).should == false + (@float_infinity > val).should == true + (val > @float_infinity_neg).should == true + (@float_infinity_neg > val).should == false + } + end + end + it "properly handles NaN values" do @values += [@infinity, @infinity_neg, @nan] @values.each { |val| diff --git a/spec/rubyspec/library/bigdecimal/gte_spec.rb b/spec/rubyspec/library/bigdecimal/gte_spec.rb index 28e84690ad..aab5338ad6 100644 --- a/spec/rubyspec/library/bigdecimal/gte_spec.rb +++ b/spec/rubyspec/library/bigdecimal/gte_spec.rb @@ -28,6 +28,10 @@ describe "BigDecimal#>=" do @infinity = BigDecimal("Infinity") @infinity_neg = BigDecimal("-Infinity") + + @float_infinity = Float::INFINITY + @float_infinity_neg = -Float::INFINITY + @nan = BigDecimal("NaN") end @@ -68,6 +72,17 @@ describe "BigDecimal#>=" do (@infinity_neg >= @infinity).should == false end + ruby_bug "#13674", ""..."2.4" do + it "properly handles Float infinity values" do + @values.each { |val| + (val >= @float_infinity).should == false + (@float_infinity >= val).should == true + (val >= @float_infinity_neg).should == true + (@float_infinity_neg >= val).should == false + } + end + end + it "properly handles NaN values" do @values += [@infinity, @infinity_neg, @nan] @values.each { |val| diff --git a/spec/rubyspec/library/bigdecimal/lt_spec.rb b/spec/rubyspec/library/bigdecimal/lt_spec.rb index 67811c5db4..089e7aef73 100644 --- a/spec/rubyspec/library/bigdecimal/lt_spec.rb +++ b/spec/rubyspec/library/bigdecimal/lt_spec.rb @@ -28,6 +28,10 @@ describe "BigDecimal#<" do @infinity = BigDecimal("Infinity") @infinity_neg = BigDecimal("-Infinity") + + @float_infinity = Float::INFINITY + @float_infinity_neg = -Float::INFINITY + @nan = BigDecimal("NaN") end @@ -62,6 +66,17 @@ describe "BigDecimal#<" do (@infinity_neg < @infinity).should == true end + ruby_bug "#13674", ""..."2.4" do + it "properly handles Float infinity values" do + @values.each { |val| + (val < @float_infinity).should == true + (@float_infinity < val).should == false + (val < @float_infinity_neg).should == false + (@float_infinity_neg < val).should == true + } + end + end + it "properly handles NaN values" do @values += [@infinity, @infinity_neg, @nan] @values.each { |val| diff --git a/spec/rubyspec/library/bigdecimal/lte_spec.rb b/spec/rubyspec/library/bigdecimal/lte_spec.rb index 61fb676245..5cda9842bd 100644 --- a/spec/rubyspec/library/bigdecimal/lte_spec.rb +++ b/spec/rubyspec/library/bigdecimal/lte_spec.rb @@ -28,6 +28,10 @@ describe "BigDecimal#<=" do @infinity = BigDecimal("Infinity") @infinity_neg = BigDecimal("-Infinity") + + @float_infinity = Float::INFINITY + @float_infinity_neg = -Float::INFINITY + @nan = BigDecimal("NaN") end @@ -68,6 +72,17 @@ describe "BigDecimal#<=" do (@infinity_neg <= @infinity).should == true end + ruby_bug "#13674", ""..."2.4" do + it "properly handles Float infinity values" do + @values.each { |val| + (val <= @float_infinity).should == true + (@float_infinity <= val).should == false + (val <= @float_infinity_neg).should == false + (@float_infinity_neg <= val).should == true + } + end + end + it "properly handles NaN values" do @values += [@infinity, @infinity_neg, @nan] @values.each { |val| |