1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Move spec/rubyspec to spec/ruby for consistency

* Other ruby implementations use the spec/ruby directory.
  [Misc #13792] [ruby-core:82287]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2017-09-20 20:18:52 +00:00
parent 75bfc6440d
commit 1d15d5f080
4370 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,38 @@
require File.expand_path('../../../../spec_helper', __FILE__)
describe :numeric_arg, shared: true do
before :each do
@numbers = [
20,
Rational(3, 4),
bignum_value,
infinity_value
]
end
it "returns 0 if positive" do
@numbers.each do |number|
number.send(@method).should == 0
end
end
it "returns Pi if negative" do
@numbers.each do |number|
(0-number).send(@method).should == Math::PI
end
end
describe "with a Numeric subclass" do
it "returns 0 if self#<(0) returns false" do
numeric = mock_numeric('positive')
numeric.should_receive(:<).with(0).and_return(false)
numeric.send(@method).should == 0
end
it "returns Pi if self#<(0) returns true" do
numeric = mock_numeric('positive')
numeric.should_receive(:<).with(0).and_return(true)
numeric.send(@method).should == Math::PI
end
end
end

View file

@ -0,0 +1,20 @@
require File.expand_path('../../../../spec_helper', __FILE__)
describe :numeric_conj, shared: true do
before :each do
@numbers = [
20, # Integer
398.72, # Float
Rational(3, 4), # Rational
bignum_value,
infinity_value,
nan_value
]
end
it "returns self" do
@numbers.each do |number|
number.send(@method).should equal(number)
end
end
end

View file

@ -0,0 +1,26 @@
require File.expand_path('../../../../spec_helper', __FILE__)
describe :numeric_imag, shared: true do
before :each do
@numbers = [
20, # Integer
398.72, # Float
Rational(3, 4), # Rational
bignum_value, # Bignum
infinity_value,
nan_value
].map{|n| [n,-n]}.flatten
end
it "returns 0" do
@numbers.each do |number|
number.send(@method).should == 0
end
end
it "raises an ArgumentError if given any arguments" do
@numbers.each do |number|
lambda { number.send(@method, number) }.should raise_error(ArgumentError)
end
end
end

View file

@ -0,0 +1,50 @@
require File.expand_path('../../../../spec_helper', __FILE__)
describe :numeric_polar, shared: true do
before :each do
@pos_numbers = [
1,
3898172610**9,
987.18273,
Float::MAX,
Rational(13,7),
infinity_value,
]
@neg_numbers = @pos_numbers.map {|n| -n}
@numbers = @pos_numbers + @neg_numbers
@numbers.push(0, 0.0)
end
it "returns a two-element Array" do
@numbers.each do |number|
number.polar.should be_an_instance_of(Array)
number.polar.size.should == 2
end
end
it "sets the first value to the absolute value of self" do
@numbers.each do |number|
number.polar.first.should == number.abs
end
end
it "sets the last value to 0 if self is positive" do
(@numbers - @neg_numbers).each do |number|
number.should >= 0
number.polar.last.should == 0
end
end
it "sets the last value to Pi if self is negative" do
@neg_numbers.each do |number|
number.should < 0
number.polar.last.should == Math::PI
end
end
it "returns [NaN, NaN] if self is NaN" do
nan_value.polar.size.should == 2
nan_value.polar.first.nan?.should be_true
nan_value.polar.last.nan?.should be_true
end
end

View file

@ -0,0 +1,30 @@
require File.expand_path('../../../../spec_helper', __FILE__)
describe :numeric_real, shared: true do
before :each do
@numbers = [
20, # Integer
398.72, # Float
Rational(3, 4), # Rational
bignum_value, # Bignum
infinity_value,
nan_value
].map{|n| [n,-n]}.flatten
end
it "returns self" do
@numbers.each do |number|
if number.to_f.nan?
number.real.nan?.should be_true
else
number.real.should == number
end
end
end
it "raises an ArgumentError if given any arguments" do
@numbers.each do |number|
lambda { number.real(number) }.should raise_error(ArgumentError)
end
end
end