diff options
Diffstat (limited to 'spec/ruby/core/float/denominator_spec.rb')
-rw-r--r-- | spec/ruby/core/float/denominator_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/ruby/core/float/denominator_spec.rb b/spec/ruby/core/float/denominator_spec.rb new file mode 100644 index 0000000000..56f5d288cf --- /dev/null +++ b/spec/ruby/core/float/denominator_spec.rb @@ -0,0 +1,29 @@ +require File.expand_path('../../../spec_helper', __FILE__) + +describe "Float#denominator" do + before :each do + @numbers = [ + 0.0, + 29871.22736282, + 7772222663.0, + 1.4592, + ].map {|n| [0-n, n]}.flatten + end + + it "returns an Integer" do + @numbers.each do |number| + number.denominator.should be_kind_of(Integer) + end + end + + it "converts self to a Rational and returns the denominator" do + @numbers.each do |number| + number.denominator.should == Rational(number).denominator + end + end + + it "returns 1 for NaN and Infinity" do + nan_value.denominator.should == 1 + infinity_value.denominator.should == 1 + end +end |