1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* test/bigdecimal/testbase.rb (teardown): should reset all modes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-04-26 01:55:51 +00:00
parent 6c29e97c72
commit 9803f4f55a
3 changed files with 24 additions and 11 deletions

View file

@ -1,14 +1,7 @@
require "test/unit"
require "bigdecimal"
require_relative "testbase"
class TestBigDecimal < Test::Unit::TestCase
def setup
BigDecimal.mode(BigDecimal::EXCEPTION_ALL, true)
BigDecimal.mode(BigDecimal::EXCEPTION_UNDERFLOW, true)
BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, true)
BigDecimal.mode(BigDecimal::ROUND_MODE, BigDecimal::ROUND_HALF_UP)
BigDecimal.limit(0)
end
include TestBigDecimalBase
def test_version
assert_equal("1.0.1", BigDecimal.ver)

View file

@ -1,8 +1,8 @@
require "test/unit"
require "bigdecimal"
require_relative "testbase"
require "bigdecimal/math"
class TestBigMath < Test::Unit::TestCase
include TestBigDecimalBase
include BigMath
N = 20
PINF = BigDecimal("+Infinity")

View file

@ -0,0 +1,20 @@
require "test/unit"
require "bigdecimal"
module TestBigDecimalBase
def setup
@mode = BigDecimal.mode(BigDecimal::EXCEPTION_ALL)
BigDecimal.mode(BigDecimal::EXCEPTION_ALL, true)
BigDecimal.mode(BigDecimal::EXCEPTION_UNDERFLOW, true)
BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, true)
BigDecimal.mode(BigDecimal::ROUND_MODE, BigDecimal::ROUND_HALF_UP)
BigDecimal.limit(0)
end
def teardown
[BigDecimal::EXCEPTION_INFINITY, BigDecimal::EXCEPTION_NaN,
BigDecimal::EXCEPTION_UNDERFLOW, BigDecimal::EXCEPTION_OVERFLOW].each do |mode|
BigDecimal.mode(mode, !(@mode & mode).zero?)
end
end
end