summaryrefslogtreecommitdiff
path: root/spec/ruby/core/rational/to_f_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/rational/to_f_spec.rb')
-rw-r--r--spec/ruby/core/rational/to_f_spec.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/spec/ruby/core/rational/to_f_spec.rb b/spec/ruby/core/rational/to_f_spec.rb
index a9cd1be3b5..40e3f11c0c 100644
--- a/spec/ruby/core/rational/to_f_spec.rb
+++ b/spec/ruby/core/rational/to_f_spec.rb
@@ -1,6 +1,16 @@
require_relative "../../spec_helper"
-require_relative '../../shared/rational/to_f'
describe "Rational#to_f" do
- it_behaves_like :rational_to_f, :to_f
+ it "returns self converted to a Float" do
+ Rational(3, 4).to_f.should.eql?(0.75)
+ Rational(3, -4).to_f.should.eql?(-0.75)
+ Rational(-1, 4).to_f.should.eql?(-0.25)
+ Rational(-1, -4).to_f.should.eql?(0.25)
+ end
+
+ it "converts to a Float for large numerator and denominator" do
+ num = 1000000000000000000000000000000000048148248609680896326399448564623182963452541226153892315137780403285956264146010000000000000000000000000000000000048148248609680896326399448564623182963452541226153892315137780403285956264146010000000000000000000000000000000000048148248609680896326399448564623182963452541226153892315137780403285956264146009
+ den = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ Rational(num, den).to_f.should == 500.0
+ end
end