* 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
Родитель 6c29e97c72
Коммит 9803f4f55a
3 изменённых файлов: 24 добавлений и 11 удалений

Просмотреть файл

@ -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)

Просмотреть файл

@ -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")

Просмотреть файл

@ -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