diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-14 00:17:07 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-14 00:17:07 +0000 |
commit | c07e7d167d57492ff5dfaa495537d6bb9776062e (patch) | |
tree | 80305aeec998e79aab5fcb38927391049cc01134 /test/bigdecimal | |
parent | d71eab14fb5a711f43957aeb27ebad06af050193 (diff) |
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): Fix comparisons [ruby-core:26646]
* test/bigdecimal/test_bigdecimal.rb (class): Fix and improve tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/bigdecimal')
-rw-r--r-- | test/bigdecimal/test_bigdecimal.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/test/bigdecimal/test_bigdecimal.rb b/test/bigdecimal/test_bigdecimal.rb index 2490c8469c..4d2a28514e 100644 --- a/test/bigdecimal/test_bigdecimal.rb +++ b/test/bigdecimal/test_bigdecimal.rb @@ -61,7 +61,6 @@ class TestBigDecimal < Test::Unit::TestCase x = BigDecimal.new("0.1") 100.times do x *= x - break if x == false end end end @@ -71,7 +70,6 @@ class TestBigDecimal < Test::Unit::TestCase x = BigDecimal.new("10") 100.times do x *= x - break if x == false end end end @@ -219,7 +217,20 @@ class TestBigDecimal < Test::Unit::TestCase assert_operator(1, :<, inf) end - def test_cmp_corece + def test_cmp_nan + n1 = BigDecimal.new("1") + BigDecimal.mode(BigDecimal::EXCEPTION_NaN, false) + assert_equal(nil, BigDecimal.new("NaN") <=> n1) + assert_equal(false, BigDecimal.new("NaN") > n1) + end + + def test_cmp_failing_coercion + n1 = BigDecimal.new("1") + assert_equal(nil, n1 <=> nil) + assert_raise(ArgumentError){n1 > nil} + end + + def test_cmp_coerce n1 = BigDecimal.new("1") n2 = BigDecimal.new("2") o1 = Object.new; def o1.coerce(x); [x, BigDecimal.new("1")]; end |