Sha256: 7d3fae2a5158f8c9b76279844f70a045dd53600c50e046527b1aae8af841332b

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

require File.dirname(__FILE__) + '/abstract_unit'

module StructTest
  class Struct < ActionWebService::Struct
    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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
actionwebservice-0.6.0 test/struct_test.rb
actionwebservice-0.6.1 test/struct_test.rb
actionwebservice-0.5.0 test/struct_test.rb
actionwebservice-0.6.2 test/struct_test.rb