Sha256: e0f61d7f8a2d74550ef293187b4ca4466133479909ad0e7d661fbbf2e365a668

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

require 'test/unit'
require 'protobuf/message/message'
require 'protobuf/message/enum'
require 'test/addressbook'

class AddressbookTest < Test::Unit::TestCase
  def test_enum
    phone_number = Tutorial::Person::PhoneNumber.new
    phone_number.type = Tutorial::Person::PhoneType::MOBILE
    assert_equal 0, phone_number.type
    phone_number.type = Tutorial::Person::PhoneType::HOME
    assert_equal 1, phone_number.type
    phone_number.type = Tutorial::Person::PhoneType::WORK
    assert_equal 2, phone_number.type
    assert_raise TypeError do
      phone_number.type = 3
    end
  end

  def test_initial_value
    person = Tutorial::Person.new
    assert_nil person.name
    assert_nil person.id
    assert_equal [], person.phone
    assert_equal '', person.email
  end

  def test_repeatable
    address_book = Tutorial::AddressBook.new
    assert_equal [], address_book.person
    assert_instance_of Protobuf::Field::FieldArray, address_book.person
    address_book.person << Tutorial::Person.new
    assert_equal 1, address_book.person.size
    assert_raise TypeError do
      address_book.person << 1
    end
    assert_equal 1, address_book.person.size
    address_book.person << Tutorial::Person.new
    assert_equal 2, address_book.person.size
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby_protobuf-0.3.0 test/test_addressbook.rb
ruby_protobuf-0.3.2 test/test_addressbook.rb