summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/integer/to_r_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/integer/to_r_spec.rb')
-rw-r--r--spec/rubyspec/core/integer/to_r_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/rubyspec/core/integer/to_r_spec.rb b/spec/rubyspec/core/integer/to_r_spec.rb
new file mode 100644
index 0000000000..0eb158b100
--- /dev/null
+++ b/spec/rubyspec/core/integer/to_r_spec.rb
@@ -0,0 +1,26 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "Integer#to_r" do
+ it "returns a Rational object" do
+ 309.to_r.should be_an_instance_of(Rational)
+ end
+
+ it "constructs a rational number with self as the numerator" do
+ 34.to_r.numerator.should == 34
+ end
+
+ it "constructs a rational number with 1 as the denominator" do
+ 298.to_r.denominator.should == 1
+ end
+
+ it "works even if self is a Bignum" do
+ bignum = 99999**999
+ bignum.should be_an_instance_of(Bignum)
+ bignum.to_r.should == Rational(bignum, 1)
+ end
+
+ it "raises an ArgumentError if given any arguments" do
+ lambda { 287.to_r(2) }.should raise_error(ArgumentError)
+ lambda { 9102826.to_r(309, [], 71) }.should raise_error(ArgumentError)
+ end
+end