aboutsummaryrefslogtreecommitdiffstats
path: root/test/bigdecimal
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-31 13:45:31 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-31 13:45:31 +0000
commitb54141bb1b4ae96ff6300177e5eb309b5fee738f (patch)
treec07719510f9e94164e32e3901f3b12e0a12d846f /test/bigdecimal
parent899d2c14b055e180308396b5ef36397c0737f6f7 (diff)
downloadruby-b54141bb1b4ae96ff6300177e5eb309b5fee738f.tar.gz
* 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.rb14
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 }