2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "Numeric#abs2" do
|
|
|
|
before :each do
|
|
|
|
@numbers = [
|
|
|
|
0,
|
|
|
|
0.0,
|
|
|
|
1,
|
|
|
|
20,
|
|
|
|
bignum_value,
|
|
|
|
278202.292871,
|
|
|
|
72829,
|
|
|
|
3.333333333333,
|
|
|
|
0.1,
|
|
|
|
infinity_value
|
|
|
|
].map { |n| [-n, n] }.flatten
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns the square of the absolute value of self" do
|
|
|
|
@numbers.each do |number|
|
|
|
|
number.abs2.should eql(number.abs ** 2)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it "calls #* on self" do
|
|
|
|
number = mock_numeric('numeric')
|
|
|
|
number.should_receive(:*).and_return(:result)
|
|
|
|
number.abs2.should == :result
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns NaN when self is NaN" do
|
|
|
|
nan_value.abs2.nan?.should be_true
|
|
|
|
end
|
|
|
|
end
|