diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-31 13:45:31 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-31 13:45:31 +0000 |
commit | b54141bb1b4ae96ff6300177e5eb309b5fee738f (patch) | |
tree | c07719510f9e94164e32e3901f3b12e0a12d846f /test/bigdecimal | |
parent | 899d2c14b055e180308396b5ef36397c0737f6f7 (diff) |
* ext/bigdecimal/bigdecimal.c (BigDecimal_new): support instantiation a
BigDecimal object from an Integer.
* test/bigdecimal/test_bigdecimal.rb (test_new_with_integer):
add for testing the above change.
* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): replace its body
with a BigDecimal_new call.
* test/bigdecimal/test_bigdecimal.rb (test_global_new_with_integer):
add for testing the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/bigdecimal')
-rw-r--r-- | test/bigdecimal/test_bigdecimal.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/bigdecimal/test_bigdecimal.rb b/test/bigdecimal/test_bigdecimal.rb index 810630549b..d50b0e41c3 100644 --- a/test/bigdecimal/test_bigdecimal.rb +++ b/test/bigdecimal/test_bigdecimal.rb @@ -29,6 +29,13 @@ class TestBigDecimal < Test::Unit::TestCase assert_raise(ArgumentError) { BigDecimal("1", -1) } end + def test_global_new_with_integer + assert_equal(BigDecimal("1"), BigDecimal(1)) + assert_equal(BigDecimal("-1"), BigDecimal(-1)) + assert_equal(BigDecimal((2**100).to_s), BigDecimal(2**100)) + assert_equal(BigDecimal((-2**100).to_s), BigDecimal(-2**100)) + end + def test_new assert_equal(1, BigDecimal.new("1")) assert_equal(1, BigDecimal.new("1", 1)) @@ -44,6 +51,13 @@ class TestBigDecimal < Test::Unit::TestCase assert_equal( 1, BigDecimal.new("1E1111111111111111111").infinite?) end + def test_new_with_integer + assert_equal(BigDecimal("1"), BigDecimal.new(1)) + assert_equal(BigDecimal("-1"), BigDecimal.new(-1)) + assert_equal(BigDecimal((2**100).to_s), BigDecimal.new(2**100)) + assert_equal(BigDecimal((-2**100).to_s), BigDecimal.new(-2**100)) + end + def _test_mode(type) BigDecimal.mode(type, true) assert_raise(FloatDomainError) { yield } |