mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/ruby: tests for ruby itself.
* test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases. some tests could not be translates... search '!!' mark to see it. * test/csv/test_csv.rb: should require 'csv', not '../lib/csv'. test runner should set load path correctly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
822a72b8ee
commit
aaf5d9c03c
30 changed files with 2234 additions and 1 deletions
32
test/ruby/test_marshal.rb
Normal file
32
test/ruby/test_marshal.rb
Normal file
|
@ -0,0 +1,32 @@
|
|||
require 'test/unit'
|
||||
|
||||
$KCODE = 'none'
|
||||
|
||||
class TestMarshal < Test::Unit::TestCase
|
||||
def fact(n)
|
||||
return 1 if n == 0
|
||||
f = 1
|
||||
while n>0
|
||||
f *= n
|
||||
n -= 1
|
||||
end
|
||||
return f
|
||||
end
|
||||
|
||||
StrClone=String.clone;
|
||||
|
||||
def test_marshal
|
||||
$x = [1,2,3,[4,5,"foo"],{1=>"bar"},2.5,fact(30)]
|
||||
$y = Marshal.dump($x)
|
||||
assert($x == Marshal.load($y))
|
||||
|
||||
assert(Marshal.load(Marshal.dump(StrClone.new("abc"))).class == StrClone)
|
||||
|
||||
[[1,2,3,4], [81, 2, 118, 3146]].each { |w,x,y,z|
|
||||
a = (x.to_f + y.to_f / z.to_f) * Math.exp(w.to_f / (x.to_f + y.to_f / z.to_f))
|
||||
ma = Marshal.dump(a)
|
||||
b = Marshal.load(ma)
|
||||
assert(a == b)
|
||||
}
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue