1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/soap/marshal/test_struct.rb
nahi 2e0b087b02 * test/soap/*, test/wsdl/*, test/xsd/*: move TestCase classes into each module
namespace.  TestMarshal in test/soap/marshal/test_marshal.rb crashed with
  test/ruby/test_marshal.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-26 18:34:41 +00:00

47 lines
728 B
Ruby

require 'test/unit'
require 'soap/marshal'
module SOAP
module Marshal
Foo1 = Struct.new("Foo1", :m)
Foo2 = Struct.new(:m)
class Foo3
attr_accessor :m
end
class TestStruct < Test::Unit::TestCase
def test_foo1
org = Foo1.new
org.m = org
obj = convert(org)
assert_equal(Foo1, obj.class)
assert_equal(obj.m, obj)
end
def test_foo2
org = Foo2.new
org.m = org
obj = convert(org)
assert_equal(Foo2, obj.class)
assert_equal(obj.m, obj)
end
def test_foo3
org = Foo3.new
org.m = org
obj = convert(org)
assert_equal(Foo3, obj.class)
assert_equal(obj.m, obj)
end
def convert(obj)
SOAP::Marshal.unmarshal(SOAP::Marshal.marshal(obj))
end
end
end
end