diff options
author | Kenta Murata <mrkn@mrkn.jp> | 2021-10-27 17:31:45 +0900 |
---|---|---|
committer | Kenta Murata <mrkn@mrkn.jp> | 2021-12-24 02:28:54 +0900 |
commit | b2a74948b6fe60727235b80ab56b4c701c315aa3 (patch) | |
tree | ec1d4e73b8bd6278b0529160ee33f0994a992aaf /test/bigdecimal/test_bigdecimal_util.rb | |
parent | ed7f4c24d73333a716ce7944a465f430a7f7f910 (diff) |
[ruby/bigdecimal] Add tests for the issue GH-192
https://github.com/ruby/bigdecimal/commit/e864828b47
Diffstat (limited to 'test/bigdecimal/test_bigdecimal_util.rb')
-rw-r--r-- | test/bigdecimal/test_bigdecimal_util.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/bigdecimal/test_bigdecimal_util.rb b/test/bigdecimal/test_bigdecimal_util.rb index ffd4c5f679..2f27163ebf 100644 --- a/test/bigdecimal/test_bigdecimal_util.rb +++ b/test/bigdecimal/test_bigdecimal_util.rb @@ -25,6 +25,8 @@ class TestBigDecimalUtil < Test::Unit::TestCase assert_equal(9.05, 9.05.to_d.to_f) assert_equal("9.05", 9.05.to_d.to_s('F')) + assert_equal("65.6", 65.6.to_d.to_s("F")) + assert_equal(Math::PI, Math::PI.to_d.to_f) bug9214 = '[ruby-core:58858]' @@ -60,6 +62,19 @@ class TestBigDecimalUtil < Test::Unit::TestCase "[ruby-core:80234] [Bug #13331]") end + def test_Float_to_d_issue_192 + # https://github.com/ruby/bigdecimal/issues/192 + # https://github.com/rails/rails/pull/42125 + if BASE_FIG == 9 + flo = 1_000_000_000.12345 + big = BigDecimal("0.100000000012345e10") + else # BASE_FIG == 4 + flo = 1_0000.12 + big = BigDecimal("0.1000012e5") + end + assert_equal(flo.to_d, big, "[ruby/bigdecimal#192]") + end + def test_Rational_to_d digits = 100 delta = 1.0/10**(digits) |