require 'test/unit' require 'protobuf/message' require 'protobuf/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_equal '', person.name assert_equal 0, person.id assert_equal [], person.phone 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