diff options
Diffstat (limited to 'spec/ruby/core/numeric/abs2_spec.rb')
-rw-r--r-- | spec/ruby/core/numeric/abs2_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/ruby/core/numeric/abs2_spec.rb b/spec/ruby/core/numeric/abs2_spec.rb new file mode 100644 index 0000000000..f1094845fb --- /dev/null +++ b/spec/ruby/core/numeric/abs2_spec.rb @@ -0,0 +1,34 @@ +require File.expand_path('../../../spec_helper', __FILE__) + +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 |