summaryrefslogtreecommitdiff
path: root/spec/ruby/core/float/arg_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/float/arg_spec.rb')
-rw-r--r--spec/ruby/core/float/arg_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/ruby/core/float/arg_spec.rb b/spec/ruby/core/float/arg_spec.rb
new file mode 100644
index 0000000000..c9c602bbf6
--- /dev/null
+++ b/spec/ruby/core/float/arg_spec.rb
@@ -0,0 +1,38 @@
+require_relative '../../spec_helper'
+
+describe "Float#arg" do
+ it "returns NaN if NaN" do
+ f = nan_value
+ f.arg.nan?.should == true
+ end
+
+ it "returns self if NaN" do
+ f = nan_value
+ f.arg.should.equal?(f)
+ end
+
+ it "returns 0 if positive" do
+ 1.0.arg.should == 0
+ end
+
+ it "returns 0 if +0.0" do
+ 0.0.arg.should == 0
+ end
+
+ it "returns 0 if +Infinity" do
+ infinity_value.arg.should == 0
+ end
+
+ it "returns Pi if negative" do
+ (-1.0).arg.should == Math::PI
+ end
+
+ # This was established in r23960
+ it "returns Pi if -0.0" do
+ (-0.0).arg.should == Math::PI
+ end
+
+ it "returns Pi if -Infinity" do
+ (-infinity_value).arg.should == Math::PI
+ end
+end