mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
add more roundtrip tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
07ba43734d
commit
f90fdbfc73
1 changed files with 44 additions and 0 deletions
|
@ -569,6 +569,50 @@ class TestInteger < Test::Unit::TestCase
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_printf_diu
|
||||||
|
VS.reverse_each {|a|
|
||||||
|
s = sprintf("%d", a)
|
||||||
|
b = s.to_i
|
||||||
|
assert_equal(a, b, "sprintf('%d', #{a}) = #{s.inspect}")
|
||||||
|
s = sprintf("%i", a)
|
||||||
|
b = s.to_i
|
||||||
|
assert_equal(a, b, "sprintf('%i', #{a}) = #{s.inspect}")
|
||||||
|
s = sprintf("%u", a)
|
||||||
|
b = s.to_i
|
||||||
|
assert_equal(a, b, "sprintf('%u', #{a}) = #{s.inspect}")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_marshal
|
||||||
|
VS.reverse_each {|a|
|
||||||
|
s = Marshal.dump(a)
|
||||||
|
b = Marshal.load(s)
|
||||||
|
assert_equal(a, b, "Marshal.load(Marshal.dump(#{a}))")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_pack
|
||||||
|
%w[c C s S s! S! i I l L l! L! q Q].each {|template|
|
||||||
|
size = [0].pack(template).size
|
||||||
|
mask = (1 << (size * 8)) - 1
|
||||||
|
if /[A-Z]/ =~ template
|
||||||
|
min = 0
|
||||||
|
max = (1 << (size * 8))-1
|
||||||
|
else
|
||||||
|
min = -(1 << (size * 8 - 1))
|
||||||
|
max = (1 << (size * 8 - 1)) - 1
|
||||||
|
end
|
||||||
|
VS.reverse_each {|a|
|
||||||
|
s = [a].pack(template)
|
||||||
|
b = s.unpack(template)[0]
|
||||||
|
assert_equal(a & mask, b & mask, "[#{a}].pack(#{template.dump}).unpack(#{template.dump}) & #{mask}")
|
||||||
|
if min <= a && a <= max
|
||||||
|
assert_equal(a, b, "[#{a}].pack(#{template.dump}).unpack(#{template.dump})")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
def test_Integer
|
def test_Integer
|
||||||
assert_raise(ArgumentError) {Integer("0x-1")}
|
assert_raise(ArgumentError) {Integer("0x-1")}
|
||||||
assert_raise(ArgumentError) {Integer("-0x-1")}
|
assert_raise(ArgumentError) {Integer("-0x-1")}
|
||||||
|
|
Loading…
Add table
Reference in a new issue