test_sprintf_comb.rb: split tests

* test/ruby/test_sprintf_comb.rb (test_format_integer),
  (test_format_float): split huge tests by the formats.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-09-11 03:00:42 +00:00
Родитель 3914cedda3
Коммит 326980f6fd
1 изменённых файлов: 23 добавлений и 23 удалений

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

@ -107,7 +107,9 @@ class TestSprintfComb < Test::Unit::TestCase
] ]
VS.reverse! VS.reverse!
def combination(*args, &b) FLAGS = [['', ' '], ['', '#'], ['', '+'], ['', '-'], ['', '0']]
def self.combination(*args, &b)
#AllPairs.exhaustive_each(*args, &b) #AllPairs.exhaustive_each(*args, &b)
AllPairs.each(*args, &b) AllPairs.each(*args, &b)
end end
@ -268,17 +270,8 @@ class TestSprintfComb < Test::Unit::TestCase
str str
end end
def test_format_integer def self.assertions_format_integer(format)
combination( proc {
%w[B b d o X x],
[nil, 0, 5, 20],
["", ".", ".0", ".8", ".20"],
['', ' '],
['', '#'],
['', '+'],
['', '-'],
['', '0']) {|type, width, precision, sp, hs, pl, mi, zr|
format = "%#{sp}#{hs}#{pl}#{mi}#{zr}#{width}#{precision}#{type}"
VS.each {|v| VS.each {|v|
r = sprintf format, v r = sprintf format, v
e = emu_int format, v e = emu_int format, v
@ -293,6 +286,14 @@ class TestSprintfComb < Test::Unit::TestCase
} }
end end
combination(%w[B b d o X x],
[nil, 0, 5, 20],
["", ".", ".0", ".8", ".20"],
*FLAGS) {|type, width, precision, sp, hs, pl, mi, zr|
format = "%#{sp}#{hs}#{pl}#{mi}#{zr}#{width}#{precision}#{type}"
define_method("test_format_integer(#{format})", assertions_format_integer(format))
}
FLOAT_VALUES = [ FLOAT_VALUES = [
-1e100, -1e100,
-123456789.0, -123456789.0,
@ -526,17 +527,8 @@ class TestSprintfComb < Test::Unit::TestCase
end end
def test_format_float def self.assertions_format_float(format)
combination( proc {
%w[e E f g G],
[nil, 0, 5, 20],
["", ".", ".0", ".8", ".20", ".200"],
['', ' '],
['', '#'],
['', '+'],
['', '-'],
['', '0']) {|type, width, precision, sp, hs, pl, mi, zr|
format = "%#{sp}#{hs}#{pl}#{mi}#{zr}#{width}#{precision}#{type}"
FLOAT_VALUES.each {|v| FLOAT_VALUES.each {|v|
r = sprintf format, v r = sprintf format, v
e = emu_float format, v e = emu_float format, v
@ -550,4 +542,12 @@ class TestSprintfComb < Test::Unit::TestCase
} }
} }
end end
combination(%w[e E f g G],
[nil, 0, 5, 20],
["", ".", ".0", ".8", ".20", ".200"],
*FLAGS) {|type, width, precision, sp, hs, pl, mi, zr|
format = "%#{sp}#{hs}#{pl}#{mi}#{zr}#{width}#{precision}#{type}"
define_method("test_format_float(#{format})", assertions_format_float(format))
}
end end