diff options
Diffstat (limited to 'spec/rubyspec/core/float')
52 files changed, 0 insertions, 1134 deletions
diff --git a/spec/rubyspec/core/float/abs_spec.rb b/spec/rubyspec/core/float/abs_spec.rb deleted file mode 100644 index 3ff2e4369b..0000000000 --- a/spec/rubyspec/core/float/abs_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../shared/abs', __FILE__) - -describe "Float#abs" do - it_behaves_like(:float_abs, :abs) -end diff --git a/spec/rubyspec/core/float/angle_spec.rb b/spec/rubyspec/core/float/angle_spec.rb deleted file mode 100644 index 2a5d40ad30..0000000000 --- a/spec/rubyspec/core/float/angle_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../../../shared/complex/float/arg', __FILE__) - -describe "Float#angle" do - it_behaves_like :float_arg, :angle -end diff --git a/spec/rubyspec/core/float/arg_spec.rb b/spec/rubyspec/core/float/arg_spec.rb deleted file mode 100644 index 20a8ac0a63..0000000000 --- a/spec/rubyspec/core/float/arg_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../../../shared/complex/float/arg', __FILE__) - -describe "Float#arg" do - it_behaves_like :float_arg, :arg -end diff --git a/spec/rubyspec/core/float/case_compare_spec.rb b/spec/rubyspec/core/float/case_compare_spec.rb deleted file mode 100644 index c2ad2941e0..0000000000 --- a/spec/rubyspec/core/float/case_compare_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/equal', __FILE__) - -describe "Float#===" do - it_behaves_like :float_equal, :=== -end diff --git a/spec/rubyspec/core/float/ceil_spec.rb b/spec/rubyspec/core/float/ceil_spec.rb deleted file mode 100644 index 8037164c68..0000000000 --- a/spec/rubyspec/core/float/ceil_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#ceil" do - it "returns the smallest Integer greater than or equal to self" do - -1.2.ceil.should eql( -1) - -1.0.ceil.should eql( -1) - 0.0.ceil.should eql( 0 ) - 1.3.ceil.should eql( 2 ) - 3.0.ceil.should eql( 3 ) - -9223372036854775808.1.ceil.should eql(-9223372036854775808) - +9223372036854775808.1.ceil.should eql(+9223372036854775808) - end -end diff --git a/spec/rubyspec/core/float/coerce_spec.rb b/spec/rubyspec/core/float/coerce_spec.rb deleted file mode 100644 index 90475f2680..0000000000 --- a/spec/rubyspec/core/float/coerce_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#coerce" do - it "returns [other, self] both as Floats" do - 1.2.coerce(1).should == [1.0, 1.2] - 5.28.coerce(1.0).should == [1.0, 5.28] - 1.0.coerce(1).should == [1.0, 1.0] - 1.0.coerce("2.5").should == [2.5, 1.0] - 1.0.coerce(3.14).should == [3.14, 1.0] - - a, b = -0.0.coerce(bignum_value) - a.should be_close(9223372036854775808.0, TOLERANCE) - b.should be_close(-0.0, TOLERANCE) - a, b = 1.0.coerce(bignum_value) - a.should be_close(9223372036854775808.0, TOLERANCE) - b.should be_close(1.0, TOLERANCE) - end -end diff --git a/spec/rubyspec/core/float/comparison_spec.rb b/spec/rubyspec/core/float/comparison_spec.rb deleted file mode 100644 index 49c3debbe1..0000000000 --- a/spec/rubyspec/core/float/comparison_spec.rb +++ /dev/null @@ -1,36 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#<=>" do - it "returns -1, 0, 1 when self is less than, equal, or greater than other" do - (1.5 <=> 5).should == -1 - (2.45 <=> 2.45).should == 0 - ((bignum_value*1.1) <=> bignum_value).should == 1 - end - - it "returns nil when either argument is NaN" do - (nan_value <=> 71.2).should be_nil - (1771.176 <=> nan_value).should be_nil - end - - it "returns nil when the given argument is not a Float" do - (1.0 <=> "1").should be_nil - end - - # The 4 tests below are taken from matz's revision 23730 for Ruby trunk - # - it "returns 1 when self is Infinity and other is a Bignum" do - (infinity_value <=> Float::MAX.to_i*2).should == 1 - end - - it "returns -1 when self is negative and other is Infinty" do - (-Float::MAX.to_i*2 <=> infinity_value).should == -1 - end - - it "returns -1 when self is -Infinity and other is negative" do - (-infinity_value <=> -Float::MAX.to_i*2).should == -1 - end - - it "returns 1 when self is negative and other is -Infinity" do - (-Float::MAX.to_i*2 <=> -infinity_value).should == 1 - end -end diff --git a/spec/rubyspec/core/float/constants_spec.rb b/spec/rubyspec/core/float/constants_spec.rb deleted file mode 100644 index 31930b125a..0000000000 --- a/spec/rubyspec/core/float/constants_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float constant" do - it "DIG is 15" do - Float::DIG.should == 15 - end - - it "EPSILON is 2.220446049250313e-16" do - Float::EPSILON.should == 2.0 ** -52 - Float::EPSILON.should == 2.220446049250313e-16 - end - - it "MANT_DIG is 53" do - Float::MANT_DIG.should == 53 - end - - it "MAX_10_EXP is 308" do - Float::MAX_10_EXP.should == 308 - end - - it "MIN_10_EXP is -308" do - Float::MIN_10_EXP.should == -307 - end - - it "MAX_EXP is 1024" do - Float::MAX_EXP.should == 1024 - end - - it "MIN_EXP is -1021" do - Float::MIN_EXP.should == -1021 - end - - it "MAX is 1.7976931348623157e+308" do - # See https://en.wikipedia.org/wiki/Double-precision_floating-point_format#Double-precision_examples - Float::MAX.should == (1 + (1 - (2 ** -52))) * (2.0 ** 1023) - Float::MAX.should == 1.7976931348623157e+308 - end - - it "MIN is 2.2250738585072014e-308" do - Float::MIN.should == (2.0 ** -1022) - Float::MIN.should == 2.2250738585072014e-308 - end - - it "RADIX is 2" do - Float::RADIX.should == 2 - end - - it "INFINITY is the positive infinity" do - Float::INFINITY.infinite?.should == 1 - end - - it "NAN is 'not a number'" do - Float::NAN.nan?.should be_true - end -end diff --git a/spec/rubyspec/core/float/denominator_spec.rb b/spec/rubyspec/core/float/denominator_spec.rb deleted file mode 100644 index 56f5d288cf..0000000000 --- a/spec/rubyspec/core/float/denominator_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#denominator" do - before :each do - @numbers = [ - 0.0, - 29871.22736282, - 7772222663.0, - 1.4592, - ].map {|n| [0-n, n]}.flatten - end - - it "returns an Integer" do - @numbers.each do |number| - number.denominator.should be_kind_of(Integer) - end - end - - it "converts self to a Rational and returns the denominator" do - @numbers.each do |number| - number.denominator.should == Rational(number).denominator - end - end - - it "returns 1 for NaN and Infinity" do - nan_value.denominator.should == 1 - infinity_value.denominator.should == 1 - end -end diff --git a/spec/rubyspec/core/float/divide_spec.rb b/spec/rubyspec/core/float/divide_spec.rb deleted file mode 100644 index 0acd7b20b4..0000000000 --- a/spec/rubyspec/core/float/divide_spec.rb +++ /dev/null @@ -1,36 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../fixtures/coerce.rb', __FILE__) - -describe "Float#/" do - it "returns self divided by other" do - (5.75 / -2).should be_close(-2.875,TOLERANCE) - (451.0 / 9.3).should be_close(48.494623655914,TOLERANCE) - (91.1 / -0xffffffff).should be_close(-2.12108716418061e-08, TOLERANCE) - end - - it "properly coerces objects" do - (5.0 / FloatSpecs::CanCoerce.new(5)).should be_close(0, TOLERANCE) - end - - it "returns +Infinity when dividing non-zero by zero of the same sign" do - (1.0 / 0.0).should be_positive_infinity - (-1.0 / -0.0).should be_positive_infinity - end - - it "returns -Infinity when dividing non-zero by zero of opposite sign" do - (-1.0 / 0.0).should be_negative_infinity - (1.0 / -0.0).should be_negative_infinity - end - - it "returns NaN when dividing zero by zero" do - (0.0 / 0.0).should be_nan - (-0.0 / 0.0).should be_nan - (0.0 / -0.0).should be_nan - (-0.0 / -0.0).should be_nan - end - - it "raises a TypeError when given a non-Numeric" do - lambda { 13.0 / "10" }.should raise_error(TypeError) - lambda { 13.0 / :symbol }.should raise_error(TypeError) - end -end diff --git a/spec/rubyspec/core/float/divmod_spec.rb b/spec/rubyspec/core/float/divmod_spec.rb deleted file mode 100644 index 174f142c86..0000000000 --- a/spec/rubyspec/core/float/divmod_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#divmod" do - it "returns an [quotient, modulus] from dividing self by other" do - values = 3.14.divmod(2) - values[0].should eql(1) - values[1].should be_close(1.14, TOLERANCE) - values = 2.8284.divmod(3.1415) - values[0].should eql(0) - values[1].should be_close(2.8284, TOLERANCE) - values = -1.0.divmod(bignum_value) - values[0].should eql(-1) - values[1].should be_close(9223372036854775808.000, TOLERANCE) - values = -1.0.divmod(1) - values[0].should eql(-1) - values[1].should eql(0.0) - end - - # Behaviour established as correct in r23953 - it "raises a FloatDomainError if self is NaN" do - lambda { nan_value.divmod(1) }.should raise_error(FloatDomainError) - end - - # Behaviour established as correct in r23953 - it "raises a FloatDomainError if other is NaN" do - lambda { 1.divmod(nan_value) }.should raise_error(FloatDomainError) - end - - # Behaviour established as correct in r23953 - it "raises a FloatDomainError if self is Infinity" do - lambda { infinity_value.divmod(1) }.should raise_error(FloatDomainError) - end - - it "raises a ZeroDivisionError if other is zero" do - lambda { 1.0.divmod(0) }.should raise_error(ZeroDivisionError) - lambda { 1.0.divmod(0.0) }.should raise_error(ZeroDivisionError) - end - - # redmine #5276" - it "returns the correct [quotient, modulus] even for large quotient" do - 0.59.divmod(7.761021455128987e-11).first.should eql(7602092113) - end -end diff --git a/spec/rubyspec/core/float/eql_spec.rb b/spec/rubyspec/core/float/eql_spec.rb deleted file mode 100644 index 7c4eef8523..0000000000 --- a/spec/rubyspec/core/float/eql_spec.rb +++ /dev/null @@ -1,16 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#eql?" do - it "returns true if other is a Float equal to self" do - 0.0.eql?(0.0).should be_true - end - - it "returns false if other is a Float not equal to self" do - 1.0.eql?(1.1).should be_false - end - - it "returns false if other is not a Float" do - 1.0.eql?(1).should be_false - 1.0.eql?(:one).should be_false - end -end diff --git a/spec/rubyspec/core/float/equal_value_spec.rb b/spec/rubyspec/core/float/equal_value_spec.rb deleted file mode 100644 index 19ef01fc1c..0000000000 --- a/spec/rubyspec/core/float/equal_value_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/equal', __FILE__) - -describe "Float#==" do - it_behaves_like :float_equal, :== -end diff --git a/spec/rubyspec/core/float/exponent_spec.rb b/spec/rubyspec/core/float/exponent_spec.rb deleted file mode 100644 index 5cbba43a27..0000000000 --- a/spec/rubyspec/core/float/exponent_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#**" do - it "returns self raise to the other power" do - (2.3 ** 3).should be_close(12.167,TOLERANCE) - (5.2 ** -1).should be_close(0.192307692307692,TOLERANCE) - (9.5 ** 0.5).should be_close(3.08220700148449, TOLERANCE) - (9.5 ** 0xffffffff).to_s.should == 'Infinity' - end - - it "returns a complex number when negative and raised to a fractional power" do - ((-8.0) ** (1.0/3)) .should be_close(Complex(1, 1.73205), TOLERANCE) - ((-8.0) ** Rational(1,3)).should be_close(Complex(1, 1.73205), TOLERANCE) - end -end diff --git a/spec/rubyspec/core/float/fdiv_spec.rb b/spec/rubyspec/core/float/fdiv_spec.rb deleted file mode 100644 index 632dd0f293..0000000000 --- a/spec/rubyspec/core/float/fdiv_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/quo', __FILE__) - -describe "Float#fdiv" do - it_behaves_like :float_quo, :fdiv -end diff --git a/spec/rubyspec/core/float/finite_spec.rb b/spec/rubyspec/core/float/finite_spec.rb deleted file mode 100644 index d6a161d4e3..0000000000 --- a/spec/rubyspec/core/float/finite_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#finite?" do - it "returns true for finite values" do - 3.14159.finite?.should == true - end - - it "returns false for positive infinity" do - infinity_value.finite?.should == false - end - - it "returns false for negative infinity" do - (-infinity_value).finite?.should == false - end - - it "returns false for NaN" do - nan_value.finite?.should == false - end -end diff --git a/spec/rubyspec/core/float/fixtures/coerce.rb b/spec/rubyspec/core/float/fixtures/coerce.rb deleted file mode 100644 index 2cf155be95..0000000000 --- a/spec/rubyspec/core/float/fixtures/coerce.rb +++ /dev/null @@ -1,15 +0,0 @@ -module FloatSpecs - class CanCoerce - def initialize(a) - @a = a - end - - def coerce(b) - [self.class.new(b), @a] - end - - def /(b) - @a.to_i % b.to_i - end - end -end diff --git a/spec/rubyspec/core/float/float_spec.rb b/spec/rubyspec/core/float/float_spec.rb deleted file mode 100644 index f2931d184c..0000000000 --- a/spec/rubyspec/core/float/float_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float" do - it "includes Comparable" do - Float.include?(Comparable).should == true - end - - it ".allocate raises a TypeError" do - lambda do - Float.allocate - end.should raise_error(TypeError) - end - - it ".new is undefined" do - lambda do - Float.new - end.should raise_error(NoMethodError) - end -end diff --git a/spec/rubyspec/core/float/floor_spec.rb b/spec/rubyspec/core/float/floor_spec.rb deleted file mode 100644 index 63a5138366..0000000000 --- a/spec/rubyspec/core/float/floor_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#floor" do - it "returns the largest Integer less than or equal to self" do - -1.2.floor.should eql( -2) - -1.0.floor.should eql( -1) - 0.0.floor.should eql( 0 ) - 1.0.floor.should eql( 1 ) - 5.9.floor.should eql( 5 ) - -9223372036854775808.1.floor.should eql(-9223372036854775808) - +9223372036854775808.1.floor.should eql(+9223372036854775808) - end -end diff --git a/spec/rubyspec/core/float/gt_spec.rb b/spec/rubyspec/core/float/gt_spec.rb deleted file mode 100644 index 9725c6acd7..0000000000 --- a/spec/rubyspec/core/float/gt_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#>" do - it "returns true if self is greater than other" do - (1.5 > 1).should == true - (2.5 > 3).should == false - (45.91 > bignum_value).should == false - end - - it "raises an ArgumentError when given a non-Numeric" do - lambda { 5.0 > "4" }.should raise_error(ArgumentError) - lambda { 5.0 > mock('x') }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/gte_spec.rb b/spec/rubyspec/core/float/gte_spec.rb deleted file mode 100644 index 2c14651dd7..0000000000 --- a/spec/rubyspec/core/float/gte_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#>=" do - it "returns true if self is greater than or equal to other" do - (5.2 >= 5.2).should == true - (9.71 >= 1).should == true - (5.55382 >= 0xfabdafbafcab).should == false - end - - it "raises an ArgumentError when given a non-Numeric" do - lambda { 5.0 >= "4" }.should raise_error(ArgumentError) - lambda { 5.0 >= mock('x') }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/hash_spec.rb b/spec/rubyspec/core/float/hash_spec.rb deleted file mode 100644 index c638e99347..0000000000 --- a/spec/rubyspec/core/float/hash_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#hash" do - it "is provided" do - 0.0.respond_to?(:hash).should == true - end - - it "is stable" do - 1.0.hash.should == 1.0.hash - end -end diff --git a/spec/rubyspec/core/float/infinite_spec.rb b/spec/rubyspec/core/float/infinite_spec.rb deleted file mode 100644 index 4e31effab7..0000000000 --- a/spec/rubyspec/core/float/infinite_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#infinite?" do - it "returns nil for finite values" do - 1.0.infinite?.should == nil - end - - it "returns 1 for positive infinity" do - infinity_value.infinite?.should == 1 - end - - it "returns -1 for negative infinity" do - (-infinity_value).infinite?.should == -1 - end - - it "returns nil for NaN" do - nan_value.infinite?.should == nil - end -end diff --git a/spec/rubyspec/core/float/lt_spec.rb b/spec/rubyspec/core/float/lt_spec.rb deleted file mode 100644 index e2e43b0fb7..0000000000 --- a/spec/rubyspec/core/float/lt_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#<" do - it "returns true if self is less than other" do - (71.3 < 91.8).should == true - (192.6 < -500).should == false - (-0.12 < 0x4fffffff).should == true - end - - it "raises an ArgumentError when given a non-Numeric" do - lambda { 5.0 < "4" }.should raise_error(ArgumentError) - lambda { 5.0 < mock('x') }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/lte_spec.rb b/spec/rubyspec/core/float/lte_spec.rb deleted file mode 100644 index e2e44b2257..0000000000 --- a/spec/rubyspec/core/float/lte_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#<=" do - it "returns true if self is less than or equal to other" do - (2.0 <= 3.14159).should == true - (-2.7183 <= -24).should == false - (0.0 <= 0.0).should == true - (9_235.9 <= bignum_value).should == true - end - - it "raises an ArgumentError when given a non-Numeric" do - lambda { 5.0 <= "4" }.should raise_error(ArgumentError) - lambda { 5.0 <= mock('x') }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/magnitude_spec.rb b/spec/rubyspec/core/float/magnitude_spec.rb deleted file mode 100644 index 042356f4c4..0000000000 --- a/spec/rubyspec/core/float/magnitude_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../shared/abs', __FILE__) - -describe "Float#magnitude" do - it_behaves_like(:float_abs, :magnitude) -end diff --git a/spec/rubyspec/core/float/minus_spec.rb b/spec/rubyspec/core/float/minus_spec.rb deleted file mode 100644 index d5c0d863ed..0000000000 --- a/spec/rubyspec/core/float/minus_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#-" do - it "returns self minus other" do - (9_237_212.5280 - 5_280).should be_close(9231932.528, TOLERANCE) - (2_560_496.1691 - bignum_value).should be_close(-9223372036852215808.000, TOLERANCE) - (5.5 - 5.5).should be_close(0.0,TOLERANCE) - end -end diff --git a/spec/rubyspec/core/float/modulo_spec.rb b/spec/rubyspec/core/float/modulo_spec.rb deleted file mode 100644 index f29e3870da..0000000000 --- a/spec/rubyspec/core/float/modulo_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/modulo', __FILE__) - -describe "Float#%" do - it_behaves_like(:float_modulo, :%) -end - -describe "Float#modulo" do - it_behaves_like(:float_modulo, :modulo) -end diff --git a/spec/rubyspec/core/float/multiply_spec.rb b/spec/rubyspec/core/float/multiply_spec.rb deleted file mode 100644 index 14680534c4..0000000000 --- a/spec/rubyspec/core/float/multiply_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#*" do - it "returns self multiplied by other" do - (4923.98221 * 2).should be_close(9847.96442, TOLERANCE) - (6712.5 * 0.25).should be_close(1678.125, TOLERANCE) - (256.4096 * bignum_value).should be_close(2364961134621118431232.000, TOLERANCE) - end - - it "raises a TypeError when given a non-Numeric" do - lambda { 13.0 * "10" }.should raise_error(TypeError) - lambda { 13.0 * :symbol }.should raise_error(TypeError) - end -end diff --git a/spec/rubyspec/core/float/nan_spec.rb b/spec/rubyspec/core/float/nan_spec.rb deleted file mode 100644 index 95a61d8872..0000000000 --- a/spec/rubyspec/core/float/nan_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#nan?" do - it "returns true if self is not a valid IEEE floating-point number" do - 0.0.nan?.should == false - -1.5.nan?.should == false - nan_value.nan?.should == true - end -end diff --git a/spec/rubyspec/core/float/next_float_spec.rb b/spec/rubyspec/core/float/next_float_spec.rb deleted file mode 100644 index d5a7748a06..0000000000 --- a/spec/rubyspec/core/float/next_float_spec.rb +++ /dev/null @@ -1,49 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#next_float" do - it "returns a float the smallest possible step greater than the receiver" do - barely_positive = 0.0.next_float - barely_positive.should == 0.0.next_float - - barely_positive.should > 0.0 - barely_positive.should < barely_positive.next_float - - midpoint = barely_positive / 2 - [0.0, barely_positive].should include midpoint - end - - it "returns Float::INFINITY for Float::INFINITY" do - Float::INFINITY.next_float.should == Float::INFINITY - end - - it "steps directly between MAX and INFINITY" do - (-Float::INFINITY).next_float.should == -Float::MAX - Float::MAX.next_float.should == Float::INFINITY - end - - it "steps directly between 1.0 and 1.0 + EPSILON" do - 1.0.next_float.should == 1.0 + Float::EPSILON - end - - it "steps directly between -1.0 and -1.0 + EPSILON/2" do - (-1.0).next_float.should == -1.0 + Float::EPSILON/2 - end - - it "reverses the effect of prev_float for all Floats except INFINITY and +0.0" do - num = -rand - num.prev_float.next_float.should == num - end - - it "returns negative zero when stepping upward from just below zero" do - x = (-0.0).prev_float.next_float - (1/x).should == -Float::INFINITY - end - - it "gives the same result for -0.0 as for +0.0" do - (-0.0).next_float.should == (0.0).next_float - end - - it "returns NAN if NAN was the receiver" do - Float::NAN.next_float.nan?.should == true - end -end diff --git a/spec/rubyspec/core/float/numerator_spec.rb b/spec/rubyspec/core/float/numerator_spec.rb deleted file mode 100644 index 9644d01c23..0000000000 --- a/spec/rubyspec/core/float/numerator_spec.rb +++ /dev/null @@ -1,39 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#numerator" do - before :all do - @numbers = [ - 29871.2722891, - 999.1**99.928888, - -72628191273.22, - 29282.2827, - -2927.00091, - 12.0, - Float::MAX, - ] - end - - it "converts self to a Rational object then returns its numerator" do - @numbers.each do |number| - number.infinite?.should be_nil - number.numerator.should == Rational(number).numerator - end - end - - it "returns 0 for 0.0" do - 0.0.numerator.should == 0 - end - - it "returns NaN for NaN" do - nan_value.numerator.nan?.should be_true - end - - it "returns Infinity for Infinity" do - infinity_value.numerator.infinite?.should == 1 - end - - it "returns -Infinity for -Infinity" do - (-infinity_value).numerator.infinite?.should == -1 - end - -end diff --git a/spec/rubyspec/core/float/phase_spec.rb b/spec/rubyspec/core/float/phase_spec.rb deleted file mode 100644 index 95d0053816..0000000000 --- a/spec/rubyspec/core/float/phase_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../../../shared/complex/float/arg', __FILE__) - -describe "Float#phase" do - it_behaves_like :float_arg, :phase -end diff --git a/spec/rubyspec/core/float/plus_spec.rb b/spec/rubyspec/core/float/plus_spec.rb deleted file mode 100644 index a49124d303..0000000000 --- a/spec/rubyspec/core/float/plus_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#+" do - it "returns self plus other" do - (491.213 + 2).should be_close(493.213, TOLERANCE) - (9.99 + bignum_value).should be_close(9223372036854775808.000, TOLERANCE) - (1001.99 + 5.219).should be_close(1007.209, TOLERANCE) - end -end diff --git a/spec/rubyspec/core/float/prev_float_spec.rb b/spec/rubyspec/core/float/prev_float_spec.rb deleted file mode 100644 index e07d78c44c..0000000000 --- a/spec/rubyspec/core/float/prev_float_spec.rb +++ /dev/null @@ -1,49 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#prev_float" do - it "returns a float the smallest possible step smaller than the receiver" do - barely_negative = 0.0.prev_float - barely_negative.should == 0.0.prev_float - - barely_negative.should < 0.0 - barely_negative.should > barely_negative.prev_float - - midpoint = barely_negative / 2 - [0.0, barely_negative].should include midpoint - end - - it "returns -Float::INFINITY for -Float::INFINITY" do - (-Float::INFINITY).prev_float.should == -Float::INFINITY - end - - it "steps directly between MAX and INFINITY" do - Float::INFINITY.prev_float.should == Float::MAX - (-Float::MAX).prev_float.should == -Float::INFINITY - end - - it "steps directly between 1.0 and 1.0 - EPSILON/2" do - 1.0.prev_float.should == 1.0 - Float::EPSILON/2 - end - - it "steps directly between -1.0 and -1.0 - EPSILON" do - (-1.0).prev_float.should == -1.0 - Float::EPSILON - end - - it "reverses the effect of next_float for all Floats except -INFINITY and -0.0" do - num = rand - num.next_float.prev_float.should == num - end - - it "returns positive zero when stepping downward from just above zero" do - x = 0.0.next_float.prev_float - (1/x).should == Float::INFINITY - end - - it "gives the same result for -0.0 as for +0.0" do - (0.0).prev_float.should == (-0.0).prev_float - end - - it "returns NAN if NAN was the receiver" do - Float::NAN.prev_float.nan?.should == true - end -end diff --git a/spec/rubyspec/core/float/quo_spec.rb b/spec/rubyspec/core/float/quo_spec.rb deleted file mode 100644 index dcda8f5f3b..0000000000 --- a/spec/rubyspec/core/float/quo_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/quo', __FILE__) - -describe "Float#quo" do - it_behaves_like :float_quo, :quo -end diff --git a/spec/rubyspec/core/float/rationalize_spec.rb b/spec/rubyspec/core/float/rationalize_spec.rb deleted file mode 100644 index 541080c48b..0000000000 --- a/spec/rubyspec/core/float/rationalize_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#rationalize" do - it "returns self as a simplified Rational with no argument" do - (3382729202.92822).rationalize.should == Rational(4806858197361, 1421) - end - - # FIXME: These specs need reviewing by somebody familiar with the - # algorithm used by #rationalize - it "simplifies self to the degree specified by a Rational argument" do - f = 0.3 - f.rationalize(Rational(1,10)).should == Rational(1,3) - f.rationalize(Rational(-1,10)).should == Rational(1,3) - - f = -f - f.rationalize(Rational(1,10)).should == Rational(-1,3) - f.rationalize(Rational(-1,10)).should == Rational(-1,3) - - end - - it "simplifies self to the degree specified by a Float argument" do - f = 0.3 - f.rationalize(0.05).should == Rational(1,3) - f.rationalize(0.001).should == Rational(3, 10) - - f = -f - f.rationalize(0.05).should == Rational(-1,3) - f.rationalize(0.001).should == Rational(-3,10) - end - - it "raises a FloatDomainError for Infinity" do - lambda {infinity_value.rationalize}.should raise_error(FloatDomainError) - end - - it "raises a FloatDomainError for NaN" do - lambda { nan_value.rationalize }.should raise_error(FloatDomainError) - end - - it "raises ArgumentError when passed more than one argument" do - lambda { 0.3.rationalize(0.1, 0.1) }.should raise_error(ArgumentError) - lambda { 0.3.rationalize(0.1, 0.1, 2) }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/round_spec.rb b/spec/rubyspec/core/float/round_spec.rb deleted file mode 100644 index 46d23b36d0..0000000000 --- a/spec/rubyspec/core/float/round_spec.rb +++ /dev/null @@ -1,87 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#round" do - it "returns the nearest Integer" do - 5.5.round.should == 6 - 0.4.round.should == 0 - 0.6.round.should == 1 - -1.4.round.should == -1 - -2.8.round.should == -3 - 0.0.round.should == 0 - end - - platform_is_not :mingw32 do - it "returns the nearest Integer for Float near the limit" do - 0.49999999999999994.round.should == 0 - -0.49999999999999994.round.should == 0 - end - end - - it "raises FloatDomainError for exceptional values" do - lambda { (+infinity_value).round }.should raise_error(FloatDomainError) - lambda { (-infinity_value).round }.should raise_error(FloatDomainError) - lambda { nan_value.round }.should raise_error(FloatDomainError) - end - - it "rounds self to an optionally given precision" do - 5.5.round(0).should eql(6) - 5.7.round(1).should eql(5.7) - 1.2345678.round(2).should == 1.23 - 123456.78.round(-2).should eql(123500) # rounded up - -123456.78.round(-2).should eql(-123500) - 12.345678.round(3.999).should == 12.346 - end - - it "returns zero when passed a negative argument with magitude greater the magitude of the whole number portion of the Float" do - 0.8346268.round(-1).should eql(0) - end - - it "raises a TypeError when its argument can not be converted to an Integer" do - lambda { 1.0.round("4") }.should raise_error(TypeError) - lambda { 1.0.round(nil) }.should raise_error(TypeError) - end - - it "raises FloatDomainError for exceptional values when passed a non-positive precision" do - lambda { Float::INFINITY.round( 0) }.should raise_error(FloatDomainError) - lambda { Float::INFINITY.round(-2) }.should raise_error(FloatDomainError) - lambda { (-Float::INFINITY).round( 0) }.should raise_error(FloatDomainError) - lambda { (-Float::INFINITY).round(-2) }.should raise_error(FloatDomainError) - end - - it "raises RangeError for NAN when passed a non-positive precision" do - lambda { Float::NAN.round(0) }.should raise_error(RangeError) - lambda { Float::NAN.round(-2) }.should raise_error(RangeError) - end - - it "returns self for exceptional values when passed a non-negative precision" do - Float::INFINITY.round(2).should == Float::INFINITY - (-Float::INFINITY).round(2).should == -Float::INFINITY - Float::NAN.round(2).should be_nan - end - - # redmine:5227 - it "works for corner cases" do - 42.0.round(308).should eql(42.0) - 1.0e307.round(2).should eql(1.0e307) - end - - # redmine:5271 - it "returns rounded values for big argument" do - 0.42.round(2.0**30).should == 0.42 - end - - it "returns big values rounded to nearest" do - +2.5e20.round(-20).should eql( +3 * 10 ** 20 ) - -2.5e20.round(-20).should eql( -3 * 10 ** 20 ) - end - - # redmine #5272 - it "returns rounded values for big values" do - +2.4e20.round(-20).should eql( +2 * 10 ** 20 ) - -2.4e20.round(-20).should eql( -2 * 10 ** 20 ) - +2.5e200.round(-200).should eql( +3 * 10 ** 200 ) - +2.4e200.round(-200).should eql( +2 * 10 ** 200 ) - -2.5e200.round(-200).should eql( -3 * 10 ** 200 ) - -2.4e200.round(-200).should eql( -2 * 10 ** 200 ) - end -end diff --git a/spec/rubyspec/core/float/shared/abs.rb b/spec/rubyspec/core/float/shared/abs.rb deleted file mode 100644 index c59198bfe2..0000000000 --- a/spec/rubyspec/core/float/shared/abs.rb +++ /dev/null @@ -1,21 +0,0 @@ -require File.expand_path('../../../../spec_helper', __FILE__) - -describe :float_abs, shared: true do - it "returns the absolute value" do - -99.1.send(@method).should be_close(99.1, TOLERANCE) - 4.5.send(@method).should be_close(4.5, TOLERANCE) - 0.0.send(@method).should be_close(0.0, TOLERANCE) - end - - it "returns 0.0 if -0.0" do - (-0.0).send(@method).should be_positive_zero - end - - it "returns Infinity if -Infinity" do - (-infinity_value).send(@method).infinite?.should == 1 - end - - it "returns NaN if NaN" do - nan_value.send(@method).nan?.should be_true - end -end diff --git a/spec/rubyspec/core/float/shared/equal.rb b/spec/rubyspec/core/float/shared/equal.rb deleted file mode 100644 index 668aa069b5..0000000000 --- a/spec/rubyspec/core/float/shared/equal.rb +++ /dev/null @@ -1,17 +0,0 @@ -describe :float_equal, shared: true do - it "returns true if self has the same value as other" do - 1.0.send(@method, 1).should == true - 2.71828.send(@method, 1.428).should == false - -4.2.send(@method, 4.2).should == false - end - - it "calls 'other == self' if coercion fails" do - x = mock('other') - def x.==(other) - 2.0 == other - end - - 1.0.send(@method, x).should == false - 2.0.send(@method, x).should == true - end -end diff --git a/spec/rubyspec/core/float/shared/modulo.rb b/spec/rubyspec/core/float/shared/modulo.rb deleted file mode 100644 index 6c423a3a28..0000000000 --- a/spec/rubyspec/core/float/shared/modulo.rb +++ /dev/null @@ -1,48 +0,0 @@ -describe :float_modulo, shared: true do - it "returns self modulo other" do - 6543.21.send(@method, 137).should be_close(104.21, TOLERANCE) - 5667.19.send(@method, bignum_value).should be_close(5667.19, TOLERANCE) - 6543.21.send(@method, 137.24).should be_close(92.9299999999996, TOLERANCE) - - -1.0.send(@method, 1).should == 0 - end - - it "returns self when modulus is +Infinity" do - 4.2.send(@method, Float::INFINITY).should == 4.2 - end - - it "returns -Infinity when modulus is -Infinity" do - 4.2.send(@method, -Float::INFINITY).should == -Float::INFINITY - end - - it "returns NaN when called on NaN or Infinities" do - Float::NAN.send(@method, 42).should be_nan - Float::INFINITY.send(@method, 42).should be_nan - (-Float::INFINITY).send(@method, 42).should be_nan - end - - it "returns NaN when modulus is NaN" do - 4.2.send(@method, Float::NAN).should be_nan - end - - it "returns -0.0 when called on -0.0 with a non zero modulus" do - r = (-0.0).send(@method, 42) - r.should == 0 - (1/r).should < 0 - - r = (-0.0).send(@method, Float::INFINITY) - r.should == 0 - (1/r).should < 0 - end - - it "tries to coerce the modulus" do - obj = mock("modulus") - obj.should_receive(:coerce).with(1.25).and_return([1.25, 0.5]) - (1.25 % obj).should == 0.25 - end - - it "raises a ZeroDivisionError if other is zero" do - lambda { 1.0.send(@method, 0) }.should raise_error(ZeroDivisionError) - lambda { 1.0.send(@method, 0.0) }.should raise_error(ZeroDivisionError) - end -end diff --git a/spec/rubyspec/core/float/shared/quo.rb b/spec/rubyspec/core/float/shared/quo.rb deleted file mode 100644 index afc921a2c1..0000000000 --- a/spec/rubyspec/core/float/shared/quo.rb +++ /dev/null @@ -1,59 +0,0 @@ -describe :float_quo, shared: true do - it "performs floating-point division between self and a Fixnum" do - 8.9.send(@method, 7).should == 1.2714285714285716 - end - - it "performs floating-point division between self and a Bignum" do - 8.9.send(@method, 9999999999999**9).should == 8.900000000008011e-117 - end - - it "performs floating-point division between self and a Float" do - 2827.22.send(@method, 872.111111).should == 3.2418116961704433 - end - - it "returns NaN when the argument is NaN" do - -1819.999999.send(@method, nan_value).nan?.should be_true - 11109.1981271.send(@method, nan_value).nan?.should be_true - end - - it "returns Infinity when the argument is 0.0" do - 2827.22.send(@method, 0.0).infinite?.should == 1 - end - - it "returns -Infinity when the argument is 0.0 and self is negative" do - -48229.282.send(@method, 0.0).infinite?.should == -1 - end - - it "returns Infinity when the argument is 0" do - 2827.22.send(@method, 0).infinite?.should == 1 - end - - it "returns -Infinity when the argument is 0 and self is negative" do - -48229.282.send(@method, 0).infinite?.should == -1 - end - - it "returns 0.0 when the argument is Infinity" do - 47292.2821.send(@method, infinity_value).should == 0.0 - end - - it "returns -0.0 when the argument is -Infinity" do - 1.9999918.send(@method, -infinity_value).should == -0.0 - end - - it "performs floating-point division between self and a Rational" do - 74620.09.send(@method, Rational(2,3)).should == 111930.135 - end - - it "performs floating-point division between self and a Complex" do - 74620.09.send(@method, Complex(8,2)).should == Complex( - 8778.834117647059, -2194.7085294117646) - end - - it "raises a TypeError when argument isn't numeric" do - lambda { 27292.2.send(@method, mock('non-numeric')) }.should raise_error(TypeError) - end - - it "raises an ArgumentError when passed multiple arguments" do - lambda { 272.221.send(@method, 6,0.2) }.should raise_error(ArgumentError) - end -end diff --git a/spec/rubyspec/core/float/shared/to_i.rb b/spec/rubyspec/core/float/shared/to_i.rb deleted file mode 100644 index 960295f095..0000000000 --- a/spec/rubyspec/core/float/shared/to_i.rb +++ /dev/null @@ -1,10 +0,0 @@ -describe :float_to_i, shared: true do - it "returns self truncated to an Integer" do - 899.2.send(@method).should eql(899) - -1.122256e-45.send(@method).should eql(0) - 5_213_451.9201.send(@method).should eql(5213451) - 1.233450999123389e+12.send(@method).should eql(1233450999123) - -9223372036854775808.1.send(@method).should eql(-9223372036854775808) - 9223372036854775808.1.send(@method).should eql(9223372036854775808) - end -end diff --git a/spec/rubyspec/core/float/to_f_spec.rb b/spec/rubyspec/core/float/to_f_spec.rb deleted file mode 100644 index 02666ae7d7..0000000000 --- a/spec/rubyspec/core/float/to_f_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#to_f" do - it "returns self" do - -500.3.to_f.should == -500.3 - 267.51.to_f.should == 267.51 - 1.1412.to_f.should == 1.1412 - end -end diff --git a/spec/rubyspec/core/float/to_i_spec.rb b/spec/rubyspec/core/float/to_i_spec.rb deleted file mode 100644 index 5bf5a1b42a..0000000000 --- a/spec/rubyspec/core/float/to_i_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/to_i', __FILE__) - -describe "Float#to_i" do - it_behaves_like(:float_to_i, :to_i) -end diff --git a/spec/rubyspec/core/float/to_int_spec.rb b/spec/rubyspec/core/float/to_int_spec.rb deleted file mode 100644 index ba31ebc168..0000000000 --- a/spec/rubyspec/core/float/to_int_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/to_i', __FILE__) - -describe "Float#to_int" do - it_behaves_like(:float_to_i, :to_int) -end diff --git a/spec/rubyspec/core/float/to_r_spec.rb b/spec/rubyspec/core/float/to_r_spec.rb deleted file mode 100644 index a0f5cd9700..0000000000 --- a/spec/rubyspec/core/float/to_r_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#to_r" do - it "needs to be reviewed for spec completeness" -end diff --git a/spec/rubyspec/core/float/to_s_spec.rb b/spec/rubyspec/core/float/to_s_spec.rb deleted file mode 100644 index e76cfc1b7e..0000000000 --- a/spec/rubyspec/core/float/to_s_spec.rb +++ /dev/null @@ -1,120 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#to_s" do - it "returns 'NaN' for NaN" do - nan_value().to_s.should == 'NaN' - end - - it "returns 'Infinity' for positive infinity" do - infinity_value().to_s.should == 'Infinity' - end - - it "returns '-Infinity' for negative infinity" do - (-infinity_value()).to_s.should == '-Infinity' - end - - it "returns '0.0' for 0.0" do - 0.0.to_s.should == "0.0" - end - - platform_is_not :openbsd do - it "emits '-' for -0.0" do - -0.0.to_s.should == "-0.0" - end - end - - it "emits a '-' for negative values" do - -3.14.to_s.should == "-3.14" - end - - it "emits a trailing '.0' for a whole number" do - 50.0.to_s.should == "50.0" - end - - it "emits a trailing '.0' for the mantissa in e format" do - 1.0e20.to_s.should == "1.0e+20" - end - - it "uses non-e format for a positive value with fractional part having 5 significant figures" do - 0.0001.to_s.should == "0.0001" - end - - it "uses non-e format for a negative value with fractional part having 5 significant figures" do - -0.0001.to_s.should == "-0.0001" - end - - it "uses e format for a positive value with fractional part having 6 significant figures" do - 0.00001.to_s.should == "1.0e-05" - end - - it "uses e format for a negative value with fractional part having 6 significant figures" do - -0.00001.to_s.should == "-1.0e-05" - end - - it "uses non-e format for a positive value with whole part having 15 significant figures" do - 10000000000000.0.to_s.should == "10000000000000.0" - end - - it "uses non-e format for a negative value with whole part having 15 significant figures" do - -10000000000000.0.to_s.should == "-10000000000000.0" - end - - it "uses non-e format for a positive value with whole part having 16 significant figures" do - 100000000000000.0.to_s.should == "100000000000000.0" - end - - it "uses non-e format for a negative value with whole part having 16 significant figures" do - -100000000000000.0.to_s.should == "-100000000000000.0" - end - - it "uses e format for a positive value with whole part having 18 significant figures" do - 10000000000000000.0.to_s.should == "1.0e+16" - end - - it "uses e format for a negative value with whole part having 18 significant figures" do - -10000000000000000.0.to_s.should == "-1.0e+16" - end - - it "uses non-e format for a positive value with whole part having 17 significant figures" do - 1000000000000000.0.to_s.should == "1.0e+15" - end - - it "uses non-e format for a negative value with whole part having 17 significant figures" do - -1000000000000000.0.to_s.should == "-1.0e+15" - end - - # #3273 - it "outputs the minimal, unique form necessary to recreate the value" do - value = 0.21611564636388508 - string = "0.21611564636388508" - - value.to_s.should == string - string.to_f.should == value - end - - it "outputs the minimal, unique form to represent the value" do - 0.56.to_s.should == "0.56" - end -end - -with_feature :encoding do - describe "Float#to_s" do - before :each do - @internal = Encoding.default_internal - end - - after :each do - Encoding.default_internal = @internal - end - - it "returns a String in US-ASCII encoding when Encoding.default_internal is nil" do - Encoding.default_internal = nil - 1.23.to_s.encoding.should equal(Encoding::US_ASCII) - end - - it "returns a String in US-ASCII encoding when Encoding.default_internal is not nil" do - Encoding.default_internal = Encoding::IBM437 - 5.47.to_s.encoding.should equal(Encoding::US_ASCII) - end - end -end diff --git a/spec/rubyspec/core/float/truncate_spec.rb b/spec/rubyspec/core/float/truncate_spec.rb deleted file mode 100644 index 85ee8ef580..0000000000 --- a/spec/rubyspec/core/float/truncate_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../shared/to_i', __FILE__) - -describe "Float#truncate" do - it_behaves_like(:float_to_i, :truncate) -end diff --git a/spec/rubyspec/core/float/uminus_spec.rb b/spec/rubyspec/core/float/uminus_spec.rb deleted file mode 100644 index 70e2ff0580..0000000000 --- a/spec/rubyspec/core/float/uminus_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#-@" do - it "negates self" do - (2.221.send(:-@)).should be_close(-2.221, TOLERANCE) - -2.01.should be_close(-2.01,TOLERANCE) - -2_455_999_221.5512.should be_close(-2455999221.5512, TOLERANCE) - (--5.5).should be_close(5.5, TOLERANCE) - -8.551.send(:-@).should be_close(8.551, TOLERANCE) - end - - it "negates self at Float boundaries" do - Float::MAX.send(:-@).should be_close(0.0 - Float::MAX, TOLERANCE) - Float::MIN.send(:-@).should be_close(0.0 - Float::MIN, TOLERANCE) - end - - it "returns negative infinity for positive infinity" do - infinity_value.send(:-@).infinite?.should == -1 - end - - it "returns positive infinity for negative infinity" do - (-infinity_value).send(:-@).infinite?.should == 1 - end - - it "returns NaN for NaN" do - nan_value.send(:-@).nan?.should == true - end -end diff --git a/spec/rubyspec/core/float/uplus_spec.rb b/spec/rubyspec/core/float/uplus_spec.rb deleted file mode 100644 index 75f18191dd..0000000000 --- a/spec/rubyspec/core/float/uplus_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#+@" do - it "returns the same value with same sign (twos complement)" do - 34.56.send(:+@).should == 34.56 - -34.56.send(:+@).should == -34.56 - 0.0.send(:+@).should eql(0.0) - end -end diff --git a/spec/rubyspec/core/float/zero_spec.rb b/spec/rubyspec/core/float/zero_spec.rb deleted file mode 100644 index 3a67551a07..0000000000 --- a/spec/rubyspec/core/float/zero_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Float#zero?" do - it "returns true if self is 0.0" do - 0.0.zero?.should == true - 1.0.zero?.should == false - -1.0.zero?.should == false - end -end |
