summaryrefslogtreecommitdiff
path: root/spec/ruby/core/rational
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/rational')
-rw-r--r--spec/ruby/core/rational/abs_spec.rb9
-rw-r--r--spec/ruby/core/rational/magnitude_spec.rb7
-rw-r--r--spec/ruby/core/rational/quo_spec.rb22
-rw-r--r--spec/ruby/core/rational/shared/abs.rb11
4 files changed, 13 insertions, 36 deletions
diff --git a/spec/ruby/core/rational/abs_spec.rb b/spec/ruby/core/rational/abs_spec.rb
index 54099aa14d..6bb4a0fbef 100644
--- a/spec/ruby/core/rational/abs_spec.rb
+++ b/spec/ruby/core/rational/abs_spec.rb
@@ -1,6 +1,11 @@
require_relative "../../spec_helper"
-require_relative 'shared/abs'
describe "Rational#abs" do
- it_behaves_like :rational_abs, :abs
+ it "returns self's absolute value" do
+ Rational(3, 4).abs.should == Rational(3, 4)
+ Rational(-3, 4).abs.should == Rational(3, 4)
+ Rational(3, -4).abs.should == Rational(3, 4)
+
+ Rational(bignum_value, -bignum_value).abs.should == Rational(bignum_value, bignum_value)
+ end
end
diff --git a/spec/ruby/core/rational/magnitude_spec.rb b/spec/ruby/core/rational/magnitude_spec.rb
index f5f667edb1..0df637df7a 100644
--- a/spec/ruby/core/rational/magnitude_spec.rb
+++ b/spec/ruby/core/rational/magnitude_spec.rb
@@ -1,6 +1,7 @@
require_relative "../../spec_helper"
-require_relative 'shared/abs'
-describe "Rational#abs" do
- it_behaves_like :rational_abs, :magnitude
+describe "Rational#magnitude" do
+ it "is an alias of Rational#abs" do
+ Rational.instance_method(:magnitude).should == Rational.instance_method(:abs)
+ end
end
diff --git a/spec/ruby/core/rational/quo_spec.rb b/spec/ruby/core/rational/quo_spec.rb
index 907898ad34..62178f403b 100644
--- a/spec/ruby/core/rational/quo_spec.rb
+++ b/spec/ruby/core/rational/quo_spec.rb
@@ -1,25 +1,7 @@
require_relative "../../spec_helper"
describe "Rational#quo" do
- it "calls #coerce on the passed argument with self" do
- rational = Rational(3, 4)
- obj = mock("Object")
- obj.should_receive(:coerce).with(rational).and_return([1, 2])
-
- rational.quo(obj)
- end
-
- it "calls #/ on the coerced Rational with the coerced Object" do
- rational = Rational(3, 4)
-
- coerced_rational = mock("Coerced Rational")
- coerced_rational.should_receive(:/).and_return(:result)
-
- coerced_obj = mock("Coerced Object")
-
- obj = mock("Object")
- obj.should_receive(:coerce).and_return([coerced_rational, coerced_obj])
-
- rational.quo(obj).should == :result
+ it "is an alias of Rational#/" do
+ Rational.instance_method(:quo).should == Rational.instance_method(:/)
end
end
diff --git a/spec/ruby/core/rational/shared/abs.rb b/spec/ruby/core/rational/shared/abs.rb
deleted file mode 100644
index 3d64bcc1a0..0000000000
--- a/spec/ruby/core/rational/shared/abs.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-require_relative '../../../spec_helper'
-
-describe :rational_abs, shared: true do
- it "returns self's absolute value" do
- Rational(3, 4).send(@method).should == Rational(3, 4)
- Rational(-3, 4).send(@method).should == Rational(3, 4)
- Rational(3, -4).send(@method).should == Rational(3, 4)
-
- Rational(bignum_value, -bignum_value).send(@method).should == Rational(bignum_value, bignum_value)
- end
-end