2005-02-18 05:35:25 -05:00
|
|
|
require File.dirname(__FILE__) + '/abstract_unit'
|
|
|
|
|
|
|
|
module StructTest
|
2005-02-18 18:55:29 -05:00
|
|
|
class Struct < ActionWebService::Struct
|
2005-02-18 05:35:25 -05:00
|
|
|
member :id, Integer
|
|
|
|
member :name, String
|
|
|
|
member :items, [String]
|
|
|
|
member :deleted, :bool
|
|
|
|
member :emails, [:string]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class TC_Struct < Test::Unit::TestCase
|
|
|
|
def test_members
|
|
|
|
assert_equal(5, StructTest::Struct.members.size)
|
|
|
|
assert_equal(Integer, StructTest::Struct.members[:id])
|
|
|
|
assert_equal(String, StructTest::Struct.members[:name])
|
|
|
|
assert_equal([String], StructTest::Struct.members[:items])
|
|
|
|
assert_equal(TrueClass, StructTest::Struct.members[:deleted])
|
|
|
|
assert_equal([String], StructTest::Struct.members[:emails])
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_initializer_and_lookup
|
|
|
|
s = StructTest::Struct.new(:id => 5,
|
|
|
|
:name => 'hello',
|
|
|
|
:items => ['one', 'two'],
|
|
|
|
:deleted => true,
|
|
|
|
:emails => ['test@test.com'])
|
|
|
|
assert_equal(5, s.id)
|
|
|
|
assert_equal('hello', s.name)
|
|
|
|
assert_equal(['one', 'two'], s.items)
|
|
|
|
assert_equal(true, s.deleted)
|
|
|
|
assert_equal(['test@test.com'], s.emails)
|
|
|
|
assert_equal(5, s['id'])
|
|
|
|
assert_equal('hello', s['name'])
|
|
|
|
assert_equal(['one', 'two'], s['items'])
|
|
|
|
assert_equal(true, s['deleted'])
|
|
|
|
assert_equal(['test@test.com'], s['emails'])
|
|
|
|
end
|
|
|
|
end
|